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

使用CubeMX配置STM32F407VGT6的SPI DMA发送16位数据,时钟有波形,MOSI无数据,上电就是高电平,其他CLK有波形的时候也是高电平

[复制链接]
Qiubaic 提问时间:2022-5-24 09:19 / 已解决
使用CubeMX配置STM32F407VGT6的SPI DMA发送16位数据,时钟有波形,MOSI无数据,上电就是高电平,其他CLK有波形的时候也还是高电平,发送的数据是0x0001和0x0000 每600ms发送一次,理论来说CLK有波形的时候,MOSI线信号应该是有变化的。网上搜资料,关于SPI DMA的介绍较少,不知道是不是因为就我有问题,还是DMA + 16位数据要求太变态了

另:SPI初始化现在是放在DMA后面
20220824更新:找到原因了,我的外设IO口配置错了,所以没抓到波形。谢谢大家

CubeMX配置

CubeMX配置

SPI上电波形

SPI上电波形

发送操作的代码

发送操作的代码
收藏 评论2 发布时间:2022-5-24 09:19

举报

2个回答
butterflyspring 最优答案 回答时间:2022-5-24 10:35:27
官方的cube 库中有一个现成的例子工程,可以参考试一试。对比一下就能很快找出哪里需要调整的。如附图所示。
STM32F407 spi dma demo.PNG
xmshao 回答时间:2022-5-24 11:58:08
不知是否你的代码哪里有问题。 我刚才用F429做了测试,通过定时器定时触发 SPI 16位数据格式的DMA接收,时钟跟数据对应得很好,没有发现哪里有变态的地方。至于你提到的没有时钟时是高还是低这是你的SPI极性选择决定。需要的话,可以邮件至mcu.china@st.com,我发我的测试代码给你。
TXRXSPI.png


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