[STM32F3] stm32f303 串口DMA接收错误 求助

[复制链接]
1475|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

粉丝
快速回复 在线客服 返回列表 返回顶部