【Debug】记一次STM32F407串口转485调试

芯片和传感器进行通信接口是485,硬件在芯片本身串口的基础上使用转换芯片。MAX3481ESA-NC

问题点:用串口485线连接传感器,串口模拟协议帧,传感器能正常响应返回数据。芯片写好发送包后,运行程序貌似没有收到传感器返回的数据。

分析过程:

一、因传感器先测过,所以先看芯片这边。程序是定时发送 0x01 0x03 .... MODBUS协议,不过多叙述

将串口转485接至开发板:

  发现收到“固定”数据: 0x7f 0x7f 0xff 0xff 0xfc 0x69

 1、第一点怀疑项目内发送接口针对数据进行了处理,

      逐步排查发现并没有特别之处,调用了HAL层的串口DMA发送函数。

2、改排查配置:UART、DMA

       也没有发现错误之处。

3、一般固定乱码也有波特率不匹配的原因,可配置是正确的。转而分析CLK时钟配置

       还是没有发现错误之处。

4、时钟乱了应该不会固定格式把,很奇怪。没有头绪,转而用芯片另一个串口进行测试

      mlgb  还是固定的数据,简直找不到任何蛛丝

5、后面看着自己的串口线太短连设备有点弯折,想着重新做一个和设备连的线。

      没错!!!解决了!!!

后记:工具要检查好啊,没有一点波动也很奇怪。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值