打印
[其他ST产品]

使用Hal库的SPI读取磁边传感器导致STM32G4无法运行

[复制链接]
355|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stormwind123|  楼主 | 2024-9-29 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用 HAL库 STM32G431 + SPI ,读取磁边传感器系统运行一会直接卡死,使用调试功能最后发现卡死在if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U))
有时候可以运行的时间长一点,有时候一下子就卡死了,网上找的资料也没有说如何解决,求大神帮忙


使用特权

评论回复
沙发
高级安全大使| | 2024-9-29 22:02 | 只看该作者
TxXferCount > 0U) &

使用特权

评论回复
板凳
g36xcv| | 2024-9-29 22:48 | 只看该作者
使用调试功能最后发现卡死在if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) &

使用特权

评论回复
地板
月亮一键变蓝| | 2024-11-10 01:00 | 只看该作者
在使用STM32G431和HAL库通过SPI读取磁编码器时,系统运行一段时间后卡死,并且调试发现卡死在以下条件判断中:这种情况通常与SPI通信的同步问题、数据传输错误或硬件配置有关

使用特权

评论回复
5
将爱藏于深海| | 2024-11-10 02:00 | 只看该作者
SPI时钟频率可能与磁编码器的时钟频率不匹配,导致数据传输错误

使用特权

评论回复
6
温室雏菊| | 2024-11-10 03:00 | 只看该作者
数据传输过程中可能发生了超时,导致系统卡死

使用特权

评论回复
7
在曼谷的春| | 2024-11-10 04:00 | 只看该作者
SPI中断处理函数可能没有正确处理中断,导致系统卡死

使用特权

评论回复
8
她已醉| | 2024-11-10 05:00 | 只看该作者
SPI引脚的硬件连接可能存在问题,导致数据传输错误

使用特权

评论回复
9
未说出口的像你| | 2024-11-10 06:00 | 只看该作者
建议检查SPI时钟配置,确保SPI时钟频率与磁编码器的时钟频率匹配。可以通过调整SPI的时钟分频器来调整时钟频率

使用特权

评论回复
10
春日负喧| | 2024-11-10 07:00 | 只看该作者
检查数据传输超时,在SPI传输过程中,添加超时检测机制,防止系统卡死

使用特权

评论回复
11
一只眠羊| | 2024-11-10 08:00 | 只看该作者
一般需要检查中断处理函数,确保SPI中断处理函数正确处理中断,避免系统卡死

使用特权

评论回复
12
失物招領| | 2024-11-10 09:00 | 只看该作者
看看硬件连接,保证SPI引脚的硬件连接正确,避免数据传输错误

使用特权

评论回复
13
我吃小朋友| | 2024-11-10 10:00 | 只看该作者
通过检查SPI时钟配置、添加超时检测机制、确保中断处理函数正确处理中断以及检查硬件连接,可以有效解决SPI读取磁编码器时系统卡死的问题。根据具体情况调整代码和硬件配置,确保SPI通信的稳定性和可靠性

使用特权

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

本版积分规则

416

主题

2129

帖子

2

粉丝