| ??? 11/28/08 17:49 Read: times |
#160380 - Extra "R" in printf |
Using an Interrupt based UART0 in a Silabs F020 kit.
Also using the following putchar() and putbuf() bsed on a AppNote from Keil :
void putbuf (char c) // Write a Character to SBUF
{
if (!FLG_Sendfull) // Transmitt only if buffer not full
{
if (!FLG_Sendactive) // and currently not transmitting.
{
FLG_Sendactive = 1 ;
SBUF0 = c ; // Start direct transmission.
}
else
{
IE = 0xA2 ; // Disable serial interrupt during buffer update.
outbuf [oend++ & (OLEN-1)] = c ; // Put char to transmission buffer..
if (((oend ^ ostart ) & (OLEN-1)) == 0)
{
FLG_Sendfull = 1; // Buffer full
}
IE = 0xB2 ; // Enable Serial Interrupt again
}
}
}
/*===============================================//
// Replacement routine for standard "putchar" routine.
The printf function uses this to output a character */
char putchar ( char c )
{
if ( c == 'n') // Expand new line character..
{
while (FLG_Sendfull); // Wait for space in buffer
putbuf (0x0A) ; // Send CR before LF for <new line>
}
while (FLG_Sendfull);
putbuf (c); // Send chartacter.
return (c);
}
WIth the following statement : printf(" r %02u %02u %02u Hrs AIN0.mV:%#04i AIN1.mV:%#04i n", hour,minute, second, mV_Ch_0, mV_Ch_1); I get the following on Hyper Terminal: 23 01 00 Hrs AIN0.mV:0021 AIN1.mV:0012R The "R" at the end is very obstinate. Do not know why ?? Any ideas ?? Thanks Raghu |
| Topic | Author | Date |
| Extra "R" in printf | 01/01/70 00:00 | |
| Retyping or copying? | 01/01/70 00:00 | |
The escaping escape character | 01/01/70 00:00 |



