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

原因分析总结:

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  拉高  准备接收

 

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

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值