ST意法半导体
直播中

叹久

10年用户 895经验值
擅长:可编程逻辑 光电显示 接口/总线/驱动
私信 关注
[问答]

如何在HAL_SPI_TransmistReceive_IT之后重置SPI接口?

我正在使用 STM32F446,并将 SPI 配置为从设备。
在我的过程中,我收到了 x 字节的中断数据。但是在这个过程中,这个数据大小变成了y。但是函数 HAL_SPI_TransmitReceive_IT(x) 已经用值 x 调用了。
我尝试重置 SPI 接口以便能够接收那些 y 字节 (HAL_SPI_TransmitReceive_IT(y))。但它不起作用,由于以前的大小,我仍然收到有班次的数据。
解决这个问题的正确方法是什么?




回帖(1)

王娟

2023-1-9 11:07:13
HAL_SPI_Abort_IT 是中止 IT 或 DMA SPI 操作的方法。请注意,HAL_SPI_AbortCpltCallback 在中止结束时调用。(由用户定义)
IMO 在 IRQHandler 中逐字节接收和评估,比执行所有这些 HAL 函数要快得多
举报

更多回帖

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