STM32
直播中

李丹

8年用户 1495经验值
私信 关注
[问答]

stm32f4xx_hal_spi.c中HAL_SPI_TransmitReceive函数中,当需要发送数据时为什么要先进行一次发送?

STM32f4xx_hal_spi.c中HAL_SPI_TransmitReceive函数中,当需要发送数据时为什么要先进行一次发送(模式为从机或发送帧数为1时)

回帖(1)

杨丽

2024-3-25 14:13:13
根据SPI的基本协议,作为从机来讲,不发出时钟信号,而是由主机提供时钟信号,也就是随着主机时钟信号发出从机的数据。 因此要先准备好数据,也就是先放进DR寄存器预备好,等待主机时钟信号过来时打到总线上去。
这里的代码应改是作为从机的MCU先将数据预备好,而不是自己立即发送,并且从机也不会发出时钟信号。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分