c51串口通讯#include <reg52.h>
#define uchar unsigned char
void ini_seris(void)
{
RCLK=1;
TCLK=1;
RCAP2H=0xFF;
RCAP2L=0xDC; //定时器2自动装入8位 //波特率9600
TR2=1;
IE=0x00;
SCON=0x50;
}
void main(void)
{ uchar bdata b='1';
uchar idata i;
ini_seris();
while(1)
{
SBUF=b;
for(i=0;i <255;i++); //延时
while(TI==0);
TI=0;
}
}
各位大哥们您们好:最近在调试串口时,出现了一个问题,上面的这段程序我向串口调试助手中接收区发送一个字符‘1’ ,但是当我编译后,点击运行,接收区中仅仅接收到了2个字符,这是我点击重新开始按钮,然后再点击运行,就能够正常接收。
在单步运行的条件下,也可以正常接收,但是不知道为什么出现上面的问题,真是郁闷!!我搞了两周了,希望各位大哥帮小弟看看程序,在次先谢您们了!