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

2024-11-25 14:32:20
推荐回答(3个)
回答1:

电脑断电重启的过程中,向串口发送了无意义的数据,使单片机进入到一个意外的状态并且出不来,直到收到一个符合格式的数据,它才反应过来.
可能是你的单片机程序编写得不够合理,没有做足够的出错处理,或者做得不正确.

回答2:

这个不一定的,延长线也就是直连线和交叉线都有的,问题不在这里……关键是要把单片机的RXD连计算机的TXD,单片机的TXD连计算机的RXD,对于计算机端好像2对应RXD,3对应TXD,单片机端要通过MAX232等电平转换电路才可以通过串口线连接到电脑上。

回答3:

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