深入解析SysTick定时器与银行化堆栈指针
1. SysTick定时器概述
SysTick定时器是微控制器中常用的一个定时器,它在系统中有着广泛的应用,如实时操作系统(RTOS)、定时测量等。SysTick->CALIB寄存器可提供实现10ms SysTick间隔所需的重载值,但许多微控制器没有该信息,TENMS位字段通常读为零。此外,可通过SysTick校准寄存器的第31位来判断参考时钟是否可用。不过,CMSIS - CORE提供软件变量(SystemCoreClock)获取时钟频率信息的方法更为灵活,且得到了大多数微控制器供应商的支持。在包含CMSIS - CORE头文件的软件项目中,SysTick异常处理程序名为“SysTick_Handler(void)”。
2. SysTick定时器的使用
2.1 在RTOS中使用SysTick定时器
许多RTOS本身就内置了对SysTick定时器的支持,除非要更改用于操作系统操作的特定设备外设定时器,否则通常无需进行软件更改。如需更多信息,可参考相关RTOS文档。
2.2 结合CMSIS - CORE使用SysTick定时器
CMSIS - CORE头文件提供了一个函数用于周期性SysTick中断生成,函数原型如下:
uint32_t SysTick_Config(uint32_t ticks);
该函数将SysTick中断间隔设置为“ticks”,使用处理器时钟启用计数器,并以最低异常优先级启用SysTick异常。例如,若时钟频率为30MHz,要
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



