求助,DMA读取一个字节对齐的结构体数据出错

2019-12-10 18:19发布

QQ截图20190805221355.png (2.06 KB, 下载次数: 0) 下载附件 2019-8-5 22:13 上传

第一个定义的才正常,第二个是不正常的。取消一字节对齐后,问题消失。


今天找了一天才定位到问题点,目前我的三个调试方法都对这个问题失效(串口,单步调,Tracealyzer),能定位到问题纯粹靠运气,非常疑惑,望各位大牛指点迷津,万分感谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
styleno1
1楼-- · 2019-12-10 20:58
看样子是数据源不对齐,DMA按对齐访问产生的问题。
again
2楼-- · 2019-12-10 22:58
结构体对齐基本问题,你中间插了u8 a,b肯定会有问题,你可以在u8 a,b后补两个u8就对了
again
3楼-- · 2019-12-11 02:29
结构体成员重新排下让他4字节对齐,你这个成员u8,u16乱插就不能强制单子节对其
W872529868
4楼-- · 2019-12-11 07:11
 精彩回答 2  元偷偷看……
icoyool
5楼-- · 2019-12-11 10:23

chrome_2019-08-07_08-50-33.png (54.26 KB, 下载次数: 0)

下载附件

2019-8-7 08:50 上传


数据结构还是要严谨一点, 最好把这些做成共用体

一周热门 更多>