Serial Port Complete - Latest Microcontroller projects

(lily) #1
Ports for Embedded Systems

 unsigned char serial_in;


while(1)
{
// Task loop.
receive_serial_data();
// Call routines to perform other tasks.
}

void receive_serial_data(void)
{
unsigned char serial_in;

if DataRdyUSART()
{
// A byte is available.

serial_in = getcUSART();

// Do something with the received byte.
}
}

5     &
When expecting multiple bytes, firmware can wait for the bytes to arrive or read
and store individual bytes until all have arrived.

 An hserin statement can wait to receive a specified number of bytes to store in a
byte array. This example waits for 7 bytes and stores each received byte in
sequence in received_text:
received_text var byte[7]


hserin [STR received_text\7]
A receiving computer can’t guarantee that a remote computer will send the
desired number of bytes. Using a timeout will keep the code from hanging for-
ever while waiting for bytes to arrive.
received_text var byte[7]
hserin 1000, continue, [STR received_text\7]

continue:
Free download pdf