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

STM32F103ZET6作为主机,采用SPI_DMA模式接收数据,将SPI速率从9MHz改成18MHz,不能接收数据?

[复制链接]
CandyChen1234 提问时间:2021-7-28 09:10 / 未解决
我现在用STM32F103ZET6作为主机和外设通信,采用SPI_DMA模式接收数据,将SPI速率从9MHz改成18MHz,DMA就一直停在while( !DMA_GetFlagStatus(DMA1_FLAG_TC4))出不来,如果不用DMA模式接收数据,将SPI速率从9MHz改成18MHz是可以的,所以怀疑是用来DMA才导致现在的问题,不知是否还有其他的可能性,谢谢!
收藏 评论3 发布时间:2021-7-28 09:10

举报

3个回答
goyhuan 回答时间:2021-7-28 09:30:55
什么设备要这么高的速率?你不是用传输完成中断吗?
CandyChen1234 回答时间:2021-7-28 09:58:29
goyhuan 发表于 2021-7-28 09:30
什么设备要这么高的速率?你不是用传输完成中断吗?

和W5500通信,一款以太网芯片,没有用DMA传输完成中断,只是用while( !DMA_GetFlagStatus(DMA1_FLAG_TC4))来作为传输完成的标志,然后进行一些其他的操作
butterflyspring 回答时间:2021-7-28 14:27:30
建议调试检查一下DMA是否有结果,比如接收数据内容,接收数据个数等信息来判读DMA是否启动工作了。 通常容易忽略DMA配置内存增加模式这一项。 手册上有吧配置的程序介绍,一共6步,逐步对照或许比较容易发现问题
STM32F103 DMA conf.PNG

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版