【串口】串口不返回数据,返回数据错误等原因分析

原因分析总结:

1、初始化了吗?

有一次,串口始终返回的数据只有一个字母,所以我们一直怀疑是数据被覆盖或者数据接收不全,但是后来才发现,串口没有初始化。

 

2、速率设置不对。

 

3、485端口的收发方式与串口有区别。

8月20日 周六

 倾角传感器没有数据返回的原因是:

 倾角传感器传输端口已经由一般串口改为485接口,232的收发是由两条线路来分别司职收和发,485的通却是两条线路通过差分的方式表示1、和0,共同司职收或发,收还是发由另一个引脚控制,因而在收或发之前,一定要正确设置这个引脚。

 

  P7OUT &= ~BIT4;  P7 拉低 准备发送

  UART2_SendStr_char(ask);     

  __delay_cycles(20000);   //延时(时间要充足,且考虑要保证不错过回来的数据),保证最后一个字符能够发出去(把字符丢入buff后不管,此时若buff没送出字符,485就进入接收状态,则字符发布出去)

 

  P7OUT |= BIT4;  P7  拉高  准备接收

 

否则无法正确收发数据,要么只能收,要么只能发。

 

 

posted on 2022-10-04 01:31  bdy  阅读(928)  评论(0编辑  收藏  举报

导航