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

HAL_SPI_TransmitReceive与HAL_SPI_TransmitReceive_DMA区别?

[复制链接]
cfjlma 提问时间:2019-8-3 17:09 /
使用stm32cubeide读取flash(w25q)的id,用HAL_SPI_TransmitReceive可以读取,但用HAL_SPI_TransmitReceive_DMA函数读取出来的都是0xFF,不知道是什么原因?
收藏 评论4 发布时间:2019-8-3 17:09

举报

4个回答
wenyangzeng 回答时间:2019-8-3 21:51:33
要使能SPI的DMA,应该先配置SPI的DMA各项参数的。先参考ST官方的例程
SPI-DMA.rar (14.82 KB, 下载次数: 135)

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

byronsong 回答时间:2019-8-5 08:30:37
HAL_SPI_TransmitReceive 是查询的方式收发,是阻塞式操作,函数执行完即可使用收发缓冲区的数据;
HAL_SPI_TransmitReceive_DMA是非阻塞操作,通过硬件DMA及其中断实现的,需在各个中断的回调函数中,读写数据或做其它操作。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

ikxlf 回答时间:2019-8-5 10:58:43
后面那个函数需要配置DMA,你有没有配置,没有肯定读不到数据

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

pig141 回答时间:2020-11-26 14:00:16
wenyangzeng 发表于 2019-8-3 21:51
要使能SPI的DMA,应该先配置SPI的DMA各项参数的。先参考ST官方的例程

~~~~~~~~~~~~

所属标签

相似问题

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