CH32-STK的使用注意事项

1.关于Systick

     CH32F103/203:CH32F103 /203 SysTick 和STM32F103 一样为Cortex-M3 内核,是一个24 位的向下递减计数器,计数器每计数一次的时间为1/SYSCLK(系统主频)。   

     CH32V10x_20x_30x&&CH32V00x&&CH32x03x:CH32V 系列MCU 内核为RISC-V 内核,其SysTick 为一个64 位计数器。与Cortex-M3 内核MCU 不同,其SysTick 可配置为向上计数或向下计数(CH32V00x与CH32X03x只能向上计数)。

     CH32F10x_20x 系列MCU 可以配置HCLK 或HCLK/8 作为时基; CH32V103 系列MCU 只能配置HCLK/8 作为时基;CH32V20x_30x 系列MCU 可以配置HCLK 或HCLK/8 作为时基;CH32V00x与CH32X03x可以配置HCLK 或HCLK/8 作为时基。

2.关于EVT中有关Systick

 Delay_Init; Delay_Us; Delay_Ms,此延时库函数统一使用HCLK/8 作为时基,注意CH32F103 /203 只有24位,填写的Delay_Ms参数不要溢出(具体跟主频有关系)。

 EVT中的操作系统的心跳时基用的是Systick的中断,牵扯到EVT的其他程序合并到操作系统时,需要将延时换成操作系统提供的延时函数(禁止使用库函数延时),或者软件延时函数。使用Systic中断时也是如此。

 

EVT Debug.c里的延时库函数。

 

 

 EVT SysTick中断:

 

posted @ 2024-12-04 17:14  WCH_CH32  阅读(10)  评论(0编辑  收藏  举报