#1楼主:代码不到20行的串口程序,但调试很郁闷,好心人路过,帮个忙
文章发表于:2009-06-23 06:56
代码不到20行的串口程序,但调试很郁闷,好心人路过,帮个忙
最近做东西的时候遇到个问题,就是想实现一段程序(这个程序以前已实现过),从串口调试工具发送以字节的数据,让单片机接收,然后在让他返回过来,现在的情况就是返回个数字没问题,就是单片机接收不到,以下是不已修改过的程序,有高手帮我看看,在线等着,还有就是单片机向串口调试发送数据的时候,我在串口调试上按“打开串口”,“关闭串口”,会发生接收来的数字变了,然后我在打开关闭几次,显示的数字才会正常,怪了
void UartInit(void)
{
SCON=0x50; //方式1,充许接收
TMOD=0x20; //T/C1方式2定时
TH1=0xFD; //波特率9600,Fosc=11.0592MHz
TL1=0xFD;
TR1=1; //
}
/***********************************/
void send(unsigned char send_data)
{
SBUF=send_data;
while(!TI) ;
TI=0;
}
/**********************************/
unsigned char rev(void)
{
while(!RI) ;
return SBUF;
RI=0;
}
/*********************************/
void main(void)
{
unsigned char temp;
UartInit();
while(1)
{ //最简单的用查询的方式发送和接收数据。
temp=rev(); //串口调试助手发送一数据至单片机
send(temp); //返回数据给串口调试助手。
}
}