Since we are transmitting data, not return is necessary, but we will need to include a parameter. The parameter will be the data that will be transmitted. The UDRE (USART Data Register Empty) is a flag that tells us when the data register is empty so we can populate the UDR (USART Data Register). When it is ready, we can assign the data to the UDR register. The following code is for microcontroller with more than one USART/UART and uses the first one (the 0's at the end of the registers):
void TransmitUART0(unsigned char data)
{
//Wait until the Transmitter is ready
while (! (UCSR0A & (1 << UDRE0)) );
//Get that data outa here!
UDR0 = data;
}
The following code is for microcontroller with only one UART/USART:
void TransmitUART(unsigned char data)
{
//Wait until the Transmitter is ready
while (! (UCSRA & (1 << UDRE)) );
//Get that data outa here!
UDR = data;
}
Comments and Additional Information
Have some code to share? Or additional information? Respond here:
You need to be logged in to save a response on this page. The response must be constructive, helpful, supplimentary or to correct the existing video, code or narrative content.