help me about KeilC!
better u devop the putchar function.
void InitSerial(void)
{
ET1 = 0; /* TIMER1 INT DISABLE */
TMOD = 0x20;
PCON |= 0x80;
TH1 = 0xFD; /* X2 57600(SMOD=1) at 16 MHZ */
TR1 = 1; /* START THE TIMER1 */
SCON = 0x52; /* SERIAL MODE 1, REN=1, TI=1, RI=0 */
/* Interrupt */
ES = 0; /* Serial interrupt disable */
RI = 0;
TI = 0;
while(TI && RI);
}
/*###############################################################################
Function Implementation Part
/*
Description : Output 1 character through Serial Port
Argument : byData - character to output(INPUT)
Return Value :
Note :
###############################################################################
*/
void PutByte(UCHAR byData)
{
// Write data into serial-buffer.
SBUF = byData;
// Wait till data recording is finished.
while(!TI);
TI = 0;
}
/*###############################################################################
/*
Description : Output to Serial.
Argument : Str - Character Stream to output (INPUT)
Return Value :
###############################################################################
*/
void PutString(char *Str) reentrant
{
UINT i;
for (i = 0; Str != '\0'; i++) PutByte(Str);
}
/*###############################################################################
/*
Description : Output to Serial and then specific character,'Carrage Return & New Line'.
Argument : Str - Character Stream to output(INPUT)
Return Value :
###############################################################################
*/
void PutStringLn(char * Str) reentrant
{
PutString(Str);
PutByte(0x0a);
PutByte(0x0d);
}
/*###############################################################################
/*
Description : Read 1 character from Serial.
Argument :
Return Value : Read 1 character from Serial and Return.
Note :
###############################################################################
*/
unsigned char GetByte(void)
{
unsigned char byData;
// Wait till data is received.
while( !RI );
RI = 0;
// Read data.
byData = SBUF;
return byData;
}