程序应该没问题,可能是Keil C的问题。我也用Timer2这样做的,但用的是模式3,全部用中断方式收发,没有问题。你用的晶振是11.0592吧。
初始化应该对TH2和TL2一同赋值.
RCAP2H = 0xFF;
RCAP2L = 0xEE; //19200 Baud Rate
TH2 = 0xFF;
TL2 = 0xEE;
给你点小建议, “ for(i=0;i <255;i++); //延时“ 可不要,在此做别的另当别论。
while(TI==0); TI=0;这两句可用 while(!_testbit_(TI))代替。
可以在ini_seris();后设断点,看是否有区别。或在ini_seris();后加一句读SBUF。
发表时间:2005年7月11日15:26:42