Using mega8 at 4MHz.
void TransmitCharToRS232 (unsigned char c) { while(!(UCSRA & (1 << UDRE))); UDR = c; }
I am calling it like:
TransmitCharToRS232(0); TransmitCharToRS232(0); TransmitCharToRS232('i');
A theoretical query is,
How mega8 will understand that it has got a new value to transmit as there are two 0s to transmit?
The process get locked at first transmission of 0.
and ignores all further transmissions.
If I stuff value other than 0, it works well!!!