Freertos的Systick_Handler重定义

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

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

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

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

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

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

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

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

相关推荐
沐欣工作室_lvyiyi7 分钟前
基于STM32的人体健康检测设计(论文+源码)
stm32·单片机·嵌入式硬件
艾络迅Acceleronix14 分钟前
气象监测:STM32+EG800Z AT + 艾络迅平台实战|气压/光照/雨量采集全流程
stm32·单片机·嵌入式硬件·mcu·物联网·1024程序员节
深圳老胡16 分钟前
FDC2212 + STM32G030 液面探测:IIC 读数跳动导致下探深度不一致的排查与解决
笔记·stm32·单片机·代码规范·1024程序员节
xiangw@GZ25 分钟前
两线 JTAG(cJTAG / IEEE 1149.7)技术专题
单片机·嵌入式硬件
comyccccc38 分钟前
晶振区禁铺铜,三大保险丝护航电路安全学习笔记
单片机·嵌入式硬件
女神下凡1 小时前
芯参谋(71):全桥电机驱动电路设计指南
arm开发·stm32·单片机·嵌入式硬件·硬件工程·设计规范·1024程序员节
李永奉1 小时前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦DNS通话算法后,大概率通话时蓝牙自动断连,RAM空间爆了问题处理
单片机·嵌入式硬件·mcu·物联网·电脑·bug
小向是个Der1 小时前
P02_你的变量住在哪里_教学文档
经验分享·笔记·stm32·单片机
深圳老胡2 小时前
液面探测功能的硬件方案对比:原理、优缺点与选型建议
笔记·单片机
成成爱质评2 小时前
Windows 任务计划程序 + 唤醒定时器:让电脑按时开机干活
windows·单片机·电脑