打印
[STM32F4]

STM32F4作为SPI从机,主机发送完数据后,从机没有正确进入中断

[复制链接]
1125|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2024-4-19 21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NXP的1176作为主机,STM32F405作为从机,通信波特率为8.3MHz左右。cubeMX配置如下,开启了SPI中断。
每次进入HAL_SPI_TxRxCpltCallback(),都通过IO输出一个脉冲信号,如下图第二行所示。第一行为定时器6溢出回调函数的脉冲,第四行是SPI时钟信号。可以从图中看出,第四个时钟信号结束后,没有触发HAL_SPI_TxRxCpltCallback。且定时器中断在188.54ms处停止触发,一直到189.7ms处,HAL_SPI_TxRxCpltCallback出发后才恢复。又因为所配置的SPI中断优先级高于定时器中断优先级,我推测,由于某些原因导致通信结束后,SPI中断阻塞了。
但是我没有任何解决思路,请各位帮忙,不胜感激!如果提问有任何不完善,请提示我补充信息。


使用特权

评论回复
沙发
失物招領| | 2024-5-20 13:07 | 只看该作者
首先确保从机SPI接口的中断已经正确使能。在STM32F4中,需要在NVIC中使能相应的中断线。

使用特权

评论回复
板凳
将爱藏于深海| | 2024-5-20 16:00 | 只看该作者
检查从机SPI接口中断的优先级设置。确保中断优先级设置正确,避免与其他中断冲突。

使用特权

评论回复
地板
春日负喧| | 2024-5-20 18:00 | 只看该作者
建议看看从机SPI接口的配置是否正确,包括时钟极性、相位、数据大小等参数。确保从机SPI接口的配置与主机SPI接口一致。

使用特权

评论回复
5
她已醉| | 2024-5-20 20:00 | 只看该作者
可以检查从机SPI接口的时钟设置是否正确。SPI时钟的频率设置需要与主机SPI接口一致,否则可能导致通信错误。

使用特权

评论回复
6
温室雏菊| | 2024-5-20 22:00 | 只看该作者
检查从机SPI接口的硬件连接是否正确,包括时钟、数据线和片选线等连接。确保连接稳定可靠。

使用特权

评论回复
7
故意相遇| | 2024-5-21 02:00 | 只看该作者
在中断服务程序中,需要及时清除中断标志位。确保在中断服务程序中正确清除中断标志位,以便下一次中断能够触发。

使用特权

评论回复
8
风凉| | 2024-5-21 06:00 | 只看该作者
检查从机SPI接口的中断服务程序是否正确编写。确保中断服务程序能够正确处理接收到的数据,并及时退出中断。

使用特权

评论回复
9
捧一束彼岸花| | 2024-5-21 09:00 | 只看该作者
一般来说,你用cubemx配置一下估计也不会这样啊

使用特权

评论回复
10
白马过平川| | 2024-5-21 13:00 | 只看该作者
你仿真跟一下看看呢?看看程序是否正常运行

使用特权

评论回复
11
西洲| | 2024-5-21 15:00 | 只看该作者
可能是你的SPI配置不对吧,一般是有个上拉还是下拉来着,比较OK啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

549

主题

2367

帖子

4

粉丝