单片机设备用串口线与电脑串口连接,第一次通讯无反馈,从第二次开始就正常了,这是为什么?
具体操作:电脑断电后,重新上电启动,通过comtools发数据,发送完毕后,电脑收不到任何反馈数据,这时只要电脑使用comtools再随意发送个数据,就能接收了。当我换成...
具体操作:
电脑断电后,重新上电启动,通过comtools发数据,发送完毕后,电脑收不到任何反馈数据,这时只要电脑使用comtools再随意发送个数据,就能接收了。当我换成USB转串口时,反而没有这个问题。请教大家,这是为什么啊???
我电路接线肯定没有问题,因为只有第一次通讯异常,之后都正常。
没有其它的回答了吗? 展开
电脑断电后,重新上电启动,通过comtools发数据,发送完毕后,电脑收不到任何反馈数据,这时只要电脑使用comtools再随意发送个数据,就能接收了。当我换成USB转串口时,反而没有这个问题。请教大家,这是为什么啊???
我电路接线肯定没有问题,因为只有第一次通讯异常,之后都正常。
没有其它的回答了吗? 展开
3个回答
展开全部
电脑断电重启的过程中,向串口发送了无意义的数据,使单片机进入到一个意外的状态并且出不来,直到收到一个符合格式的数据,它才反应过来.
可能是你的单片机程序编写得不够合理,没有做足够的出错处理,或者做得不正确.
可能是你的单片机程序编写得不够合理,没有做足够的出错处理,或者做得不正确.
追问
我的描述中有几个关键点没有说清:
1、我使用的89S52单片机;
2、单片机板和程序是我自己设计的,TXD,RXD连线正确,因为从第二次开始就可以正常通讯了,只是第一次不成功;
3、这个不成功产生的原因是在计算机断电后,重新上电启动引起的,如果只是重启计算机,而不断电,这个问题就不存在;
按照你的回答,计算机上电时,就会向单片机发送乱码,是吗?还有其他的原因吗?
追答
我觉得主要应该就是这个原因,没看到你的东西,很难确切地判断出你的原因.
2014-05-19
展开全部
这个不一定的,延长线也就是直连线和交叉线都有的,问题不在这里……关键是要把单片机的RXD连计算机的TXD,单片机的TXD连计算机的RXD,对于计算机端好像2对应RXD,3对应TXD,单片机端要通过MAX232等电平转换电路才可以通过串口线连接到电脑上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟你一样的芯片,protues仿真出来跟你一样的问题,最后赋初值解决
发送端部分程序:
Start:
mov SCON,#50H;
anl PCON,#00H;
mov TMOD,#20H;
mov TL1,#0fdH;
mov TH1,#0fdH;
setb TR1;
setb EA;
setb ES;
mov P2,#00H; //不加这句第一次不执行
loop1:
mov A, P1;
cjne A,P2,chuli;
sjmp loop1;
chuli:
mov P2,A;
mov SBUF,A;
jnb TI,$;
cpl TI;
ret;
;====================================================================
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询