Freertos的Systick_Handler重定义

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

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

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

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

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

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

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

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

相关推荐
女神下凡2 小时前
芯参谋(38):NAND_MCP_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
嵌入式学习菌2 小时前
FreeRTOS 中断管理实战:BASEPRI 寄存器实验
单片机·嵌入式硬件
HRTOS3 小时前
HRTOS:一个名字背后的目标——不断逼近硬实时
经验分享·单片机·系统架构·51单片机
UrSpecial5 小时前
GPIO 是什么?
单片机·嵌入式硬件
剑指offer.6 小时前
ARM裸机开发-SPI
arm开发·嵌入式硬件·嵌入式·arm
修船大队长7 小时前
配置接受报文每个报文对应一个mailbox配置流程记录
网络·单片机·mcu
搁浅小泽9 小时前
二极管选型技术规范
单片机·嵌入式硬件·汽车
搁浅小泽9 小时前
电感选型技术规范
单片机·嵌入式硬件·汽车
..Dauntless..10 小时前
【stm32】串口——在MCU内部的工作过程
stm32·单片机·嵌入式硬件
lzqrzpt10 小时前
临沂LED驱动电源工程选型标准与工艺对比解析
python·单片机·嵌入式硬件·物联网