单片机设备用串口线与电脑串口连接,第一次通讯无反馈,从第二次开始就正常了,这是为什么?

具体操作:电脑断电后,重新上电启动,通过comtools发数据,发送完毕后,电脑收不到任何反馈数据,这时只要电脑使用comtools再随意发送个数据,就能接收了。当我换成... 具体操作:
电脑断电后,重新上电启动,通过comtools发数据,发送完毕后,电脑收不到任何反馈数据,这时只要电脑使用comtools再随意发送个数据,就能接收了。当我换成USB转串口时,反而没有这个问题。请教大家,这是为什么啊???
我电路接线肯定没有问题,因为只有第一次通讯异常,之后都正常。
没有其它的回答了吗?
展开
 我来答
cakoii
2014-05-19 · TA获得超过2852个赞
知道大有可为答主
回答量:1404
采纳率:85%
帮助的人:1124万
展开全部
电脑断电重启的过程中,向串口发送了无意义的数据,使单片机进入到一个意外的状态并且出不来,直到收到一个符合格式的数据,它才反应过来.
可能是你的单片机程序编写得不够合理,没有做足够的出错处理,或者做得不正确.
追问
我的描述中有几个关键点没有说清:

1、我使用的89S52单片机;
2、单片机板和程序是我自己设计的,TXD,RXD连线正确,因为从第二次开始就可以正常通讯了,只是第一次不成功;
3、这个不成功产生的原因是在计算机断电后,重新上电启动引起的,如果只是重启计算机,而不断电,这个问题就不存在;
按照你的回答,计算机上电时,就会向单片机发送乱码,是吗?还有其他的原因吗?
追答
我觉得主要应该就是这个原因,没看到你的东西,很难确切地判断出你的原因.
匿名用户
2014-05-19
展开全部
这个不一定的,延长线也就是直连线和交叉线都有的,问题不在这里……关键是要把单片机的RXD连计算机的TXD,单片机的TXD连计算机的RXD,对于计算机端好像2对应RXD,3对应TXD,单片机端要通过MAX232等电平转换电路才可以通过串口线连接到电脑上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咪咕咪咕啾啾
2021-10-13 · TA获得超过117个赞
知道答主
回答量:18
采纳率:0%
帮助的人:9561
展开全部

跟你一样的芯片,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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式