BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9304同步于 2010/8/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

【求助】51串行通讯问题

Bravive
2010/8/24镜像同步2 回复
本人想简单实现51单片机和PC串口通讯,但是发送的数据一直是不一致的,求大牛帮帮忙,下面是初始化程序,真的不知道哪错了 TMOD=0x20; //定时器1在方式2 下工作 TH1=0xfd; //@11.0592时SMOD=0则9600bit/s;SMOD=1则19200bit/s TL1=0xfd; TR1=1; //允许定时器 SM0=0; //SM0,SM1=1时串行通讯方式:方式1 SM1=1; REN=1; //允许接收 EA=1; //允许CPU中断 ES=1; //允许串行口中断 PCON=0x00; //不加倍 a=0x0F; b=0x00; while(1) { P1=a; delay(1000); TI=0; SBUF=2; while(!TI); TI=0; P1=b; delay(1000); }
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
bleach1235机器人#1 · 2010/8/27
while(!TI); 这一句一般我都写成 while(TI==0); 还有SBUF=2是什么意思是啊?
cordialz机器人#2 · 2010/9/5
晶振用的是11.0592的么.....如果是12的话有8%的丢失率