Freertos的Systick_Handler重定义

我的程序再创建系统之前,会使用HAL库来初始化系统时钟源。

这个过程中,我发现总是卡死。

进单步调试,打断点发现,只要我在配置HSE外部时钟的时候,if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF)这里停下来再运行就能成功跑下去,不然连时钟配置的函数都跑不完就会进硬件错误中断中去。我找了半天没有找到原因。

往下看了一下,发现这个初始化时钟的函数内,会调HAL_GetTick,坑爹啊。

这个计时默认是由滴答中断产生的,而我因为创建系统,滴答中断就屏蔽掉了,使用的是系统的中断。

结果导致卡死的原因就是,因为uwTick的全局变量不累加,Systick_Handler不进去,导致了系统一直在等待HSE起振卡死进硬件错误中断。

所以我就只能删掉FreeRTOSConfig函数中的定义部分

但是这样系统就没得跑了啊,没有定时中断了啊。那就把系统的中断跑到Systick_Handler里面去。且,同时需要监控任务是否跑起来,跑起来才跑系统中断,不然只跑HAL_IncTick();

相关推荐
深圳市宝华视联11 小时前
Python 读取 IP 视频流简单 Demo
python·嵌入式硬件·opencv·网络协议·tcp/ip·实时音视频·嵌入式实时数据库
恒锐丰科技韩生12 小时前
RB6005A|晶准 单节锂电池内置 MOS 保护芯片 DFN2×3‑8
嵌入式硬件·硬件工程
youshi666812 小时前
stm32-PWR、低功耗模式
stm32·单片机·嵌入式硬件
ACP广源盛1392462567312 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 Serdes 长距离视频传输芯片 GSV5800 在私有化 AI 服务中的价值与应用场景
大数据·数据库·人工智能·嵌入式硬件·矩阵·开源·音视频
Funing712 小时前
STM32 电机动态 PI 控制:从编码器反馈、增量式 PI 到 Matlab 参数拟合与 PWM 输出
stm32·嵌入式硬件·matlab·pi控制算法
云泽80813 小时前
深入浅出 STM32(十八):时钟树、总线与寄存器的底层联动机制
stm32·单片机·嵌入式硬件
米饭不加菜14 小时前
C51 语言参考手册
经验分享·笔记·单片机·嵌入式硬件
深圳市宝华视联14 小时前
院感约束下,手术室音视频布线与设备摆放实施注意事项
嵌入式硬件·音视频·实时音视频·视频编解码·嵌入式实时数据库
科芯创展14 小时前
2.7VIN,5VOUT,360KHz,电荷泵升压芯片,XZ3120
单片机
dozenyaoyida14 小时前
LittleFS 嵌入式文件系统机制拆解与某 RISC-V MCU 实测配置
单片机·嵌入式·文件系统·risc-v·littlefs·flash存储