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

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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版