[STM32F7] 通过UART_Transmit中断时触发HardFault_Handler

[复制链接]
553|1
石榴大王 发表于 2025-9-19 08:51 | 显示全部楼层 |阅读模式
, , , ,
本帖最后由 石榴大王 于 2025-10-2 18:22 编辑

在STM32F767ZI中跑FreeRTOS。在任务中创建交互式菜单,同时另设一个使用HAL_GPIO_TogglePin的任务来验证双任务协同工作。菜单文本本身可以正常发送到终端,当我发送对应选项的字符后,字符能被正确识别,但仅能发送出前2-3个字符就会触发HardFault_Handler。

我已试过一些解决方案,例如将TIM6更改为Systick作为时基源。下图展示了我开始使用FreeRTOS之前所有程序中一直使用的Transmit_Callback。

6546868cc1d2fc57be.png
这些是我在任务中调用于发送消息的函数

1603368cc1d42d20cc.png
5841368cc1d506d8ec.png
7642068cc1d59c9a6d.png

set_rx 函数的作用是将 Rx 标志设置为 1,以便让 rx_callback 接收来自用户的字符。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部