请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32U575 SPI+DMA

[复制链接]
康继平 提问时间:2023-11-21 11:34 / 未解决

SPI+DMA 的方式,从收, 用cubemx 配置,DMA 设置直接请求模式,数据宽度32位,循环模式,接收不成功,debug 下看DMA 的数据宽度配置都还是8位, 但把循环模式关掉,就可以正常接收。DMA的寄存器数据宽度设置也是正确的。

516177222ccd18207acda926140eb18.jpg

bdcdb053ecf04224d023740c608b8b3.jpg

DMA 设置直接请求模式,数据宽度8位,循环模式,也是能正常接收的,但设置成16位或32 位就不行了。

难道循环模式只能数据宽度8位?有人遇到过这样的问题吗?帮忙分析一下。

收藏 评论3 发布时间:2023-11-21 11:34

举报

3个回答
watershade 回答时间:2023-11-21 13:57:20

是不是你忘记把SPI那边也设置成WORD了,不能只设置GPDMA1。需要两边匹配。只是怀疑...

xmshao 回答时间:2023-11-21 14:09:54
你在做DMA传输时,设置数据传输个数时一定要换算成以字节为单位的个数,这是STM32U5和H5系列跟其它地方不太一样的地方。其它就是注意对齐方面的问题。
康继平 回答时间:2023-11-24 16:45:42

问题解决了,生成的SPI_Receive_DMA 函数有个判断长度的地方,在那个地方就死了,也不是错误,我注释掉哪里的判断就可以了。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版