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

stm32 HAL库SPI驱动中为什么从机要先发一次数据?

[复制链接]
fei001 提问时间:2022-10-13 14:19 / 未解决
在stm32f4xx_hal_spi.c中HAL_SPI_TransmitReceive函数中,当需要发送数据时为什么要先进行一次发送(模式为从机或发送帧数为1时),如下图:
101451gbookkjw40dbafvk.jpg
收藏 评论2 发布时间:2022-10-13 14:19

举报

2个回答
butterflyspring 回答时间:2022-10-14 10:02:41
根据SPI的基本协议,作为从机来讲,不发出时钟信号,而是由主机提供时钟信号,也就是随着主机时钟信号发出从机的数据。 因此要先准备好数据,也就是先放进DR寄存器预备好,等待主机时钟信号过来时打到总线上去。
这里的代码应改是作为从机的MCU先将数据预备好,而不是自己立即发送,并且从机也不会发出时钟信号。
fei001 回答时间:2022-10-14 15:12:29
butterflyspring 发表于 2022-10-14 10:02
根据SPI的基本协议,作为从机来讲,不发出时钟信号,而是由主机提供时钟信号,也就是随着主机时钟信号发出 ...

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