
使用CubeMX配置STM32F407VGT6的SPI DMA发送16位数据,时钟有波形,MOSI无数据,上电就是高电平,其他CLK有波形的时候也还是高电平,发送的数据是0x0001和0x0000 每600ms发送一次,理论来说CLK有波形的时候,MOSI线信号应该是有变化的。网上搜资料,关于SPI DMA的介绍较少,不知道是不是因为就我有问题,还是DMA + 16位数据要求太变态了![]() 另:SPI初始化现在是放在DMA后面 20220824更新:找到原因了,我的外设IO口配置错了,所以没抓到波形。谢谢大家 |
CubeMX配置
SPI上电波形
发送操作的代码
官方的cube 库中有一个现成的例子工程,可以参考试一试。对比一下就能很快找出哪里需要调整的。如附图所示。 |
不知是否你的代码哪里有问题。 我刚才用F429做了测试,通过定时器定时触发 SPI 16位数据格式的DMA接收,时钟跟数据对应得很好,没有发现哪里有变态的地方。至于你提到的没有时钟时是高还是低这是你的SPI极性选择决定。需要的话,可以邮件至mcu.china@st.com,我发我的测试代码给你。![]() |
观测器
stm32f405rgt6为什么无法串口连接STM32CubeProgrammer?
HAL_TIM_IC_Start_DMA的回调函数是HAL_TIM_IC_CaptureCpltCallback吗?为什么进不去?
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
STM32CubeMx生成代码错误
使用CubeMX能配置STM32L4XX芯片的低功耗模式吗?
debug选项卡中的trace enable选项是灰色的无法勾选
2.0 CubeIDE大概更新时间?
smt32h5 gpdma LL库无法初始化?