【CH32V208】2、体验systick - RISC-V MCU技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

[文章]

【CH32V208】2、体验systick

【实验器材】

CH32V208WBU6 评估板

image.png
【开发环境】
MounRiver Studio
Version: v1.91

OS: Windows 10, v.10.0, x86 / win32
Java version: 1.8.0_221
【实验程序】
1、创建一个新的空白工程。
2、打开SysTick中断
void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
3、systick配置函数

void SYSTICK_Init_Config(u64 ticks)
{
    SysTick->SR = 0;
    SysTick->CNT = 0;
    SysTick->CMP = ticks;
    SysTick->CTLR =0xF;

    NVIC_SetPriority(SysTicK_IRQn, 1);
    NVIC_EnableIRQ(SysTicK_IRQn);
}

此程序可传入一个无符号64位的参数,并把这个参数传给CMP,即溢出值。
4、systick中断回调函数:

void SysTick_Handler(void)
{
    printf("welcome to WCH\r\n");
    SysTick->SR = 0;
    counter++;
    printf("Counter:%d\r\n",counter);


}

此函数的功能为输出一个计算值,并在串口中输出,以便观察
5、主程序中,我们传一个配置溢出值为系统时钟-1即1秒种进入一次中断。
【实验现象】
下载到开发板后,打开串口终端,可以成功实现即定功能:
image.png

更多回帖

×
发帖