打印
[STM32F3]

stm32f303 串口DMA接收错误 求助

[复制链接]
1202|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lianxi47|  楼主 | 2016-12-19 22:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STM32F303串口2,DMA1通道6 超时接收数据,应用层是MODBUS RTU 协议,首字节(设备地址)如果是0x01,就会出现接收到的一组数据中,前几个为0的现象,首字节如果不是0x01则每次接收都没有问题。
如用串口助手发01 04 40 01 00 04 B5 C9 ,则可能前4个收到后,全为0的情况。若只把包头的01改为05之类的,则每次接收都没有问题。
求高手指导。
沙发
lianxi47|  楼主 | 2016-12-20 11:48 | 只看该作者
求解答

使用特权

评论回复
板凳
ayrz2010| | 2017-3-8 11:08 | 只看该作者
看样子楼主只是简单的了解了一些modbus基础知识,但是不够系统和全面。
其实,modbus虽然比较简单,但是如果不注意有很多坑,
特别是寄存器的位数,大小端处理,浮点数,长整数的处理等等。
目前也没有什么合适的书籍系统介绍,帮助理解的。

刚刚搜了一下,只有最近清华出版的《Modbus软件开发实战指南》不错,
应该是Modbus开发方面第一书,很系统很全面,各种代码都是开源的。
内容着重讲述如何快速入门并精通Modbus软件开发技术,
适用于初学Modbus通信协议的读者,可以看看。
item.jd.com/11536091028.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

68

帖子

0

粉丝