关于CH32F系列以及CH32V系列 SysTick的使用
1、关于SysTick
CH32F103/203:
CH32F103 /203 SysTick和STM32F103一样为Cortex-M3内核,是一个24位的向下递减计数器,计数器每计数一次的时间为1/SYSCLK(系统主频)。当SysTick重装载数寄存器的值递减到0的时候,产生一次中断。
CH32F系列MCU SysTick由4个寄存器控制,具体如下图。具体介绍可参考《CM3权威指南》
CH32V10x_20x_30x:
CH32V系列MCU内核为RISC-V内核,其SysTick为一个64位计数器。与Cortex-M3内核MCU不同,其SysTick可配置为向上计数或向下计数。此外还有一个64位的比较寄存器,当计数器值和比较寄存器值相同时将触发中断服务。
CH32V10x系列MCU SysTick由5个寄存器控制,如下图。具体介绍可参考CH32xRM手册。
https://www.wch.cn/downloads/CH32xRM_PDF.html
CH32V20_30x系列MCU SysTick由6个寄存器控制,如下图。具体介绍可参考CH32FV2x_V3xRM手册。
https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html
2、关于SysTick时基
- CH32F10x_20x系列MCU可以配置HCLK或HCLK/8作为时基
- CH32V103系列MCU只能配置HCLK/8作为时基
- CH32V20x_30x系列MCU可以配置HCLK或HCLK/8作为时基
3、关于SysTick配置
在对SysTick进行初始化配置的时候,需要先对计数模式(即位4)进行配置,再配置计数器初始值更新(位5)和系统计数器使能控制位(位0),否则第一次延时函数可能不生效。
程序配置方式如下:
4、关于STK_CTLR寄存器位31(SWIE)的作用及用法
作用:用于触发软件中断,具体用法见下图
分类:
32位MCU学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~