串口调试助手没发数据51单片机为什么能接收到数据?

[复制链接]
查看12 | 回复12 | 2011-10-31 03:08:42 | 显示全部楼层 |阅读模式
#includereg51.h#defineucharunsignedchar#defineuintunsignedintsbitP2_0=P2^0;voiddelay(uintz){uintx,y;for(x=0;xz;x)for(y=0;y110;y);}voidmain(){TMOD=0x20;//定时器1,方式2,自动重装TH1=0xfd;//波特率9600TL1=0xfd;TR1=1;//开启定时器1REN=1;//允许串行接收SM0=0;//工作方式1SM1=1;P0=0xfe;//选中第一个数码管while(1){while(!RI);//查询RI=0;P2_0=0;//数码管的小数点亮delay(100);P2_0=1;//数码管的小数点灭delay(100);}}
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
while(1){while(!RI);//查询{RI=0;P2_0=0;//数码管的小数点亮delay(100);}P2_0=1;//数码管的小数点灭delay(100);}你加个括号看一下,如上面程序。还有,你有没有考虑到你的P2(P2.0)口在你的整个程序中被修改过,也就是灯变灭过。
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
可能是别的应用程序发到串口的追问怎样才能让串口调试助手发数据时,在接受数据?
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
你换一个串口试试看,或者换个波特率
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
会不会跟中断有关系呢追问我没有用中断,用的是查询方式呀
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
硬件中断呢
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
不太明白,什么是硬件中断,单片机不就有5个中断吗?定时器,外部,串口
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
有些单片机有硬件中断管脚,当硬件管脚上出现中断信号一样可以进入中断状态里
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
我的就是51的
回复

使用道具 举报

千问 | 2011-10-31 03:08:42 | 显示全部楼层
串口调试助手没有发送可单片机收到了,是说不断能收到还是只有开始的一次?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行