【实验器材】
CH32V208WBU6 评估板
【开发环境】 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配置函数
voidSYSTICK_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中断回调函数:
voidSysTick_Handler(void){printf("welcome to WCH\r\n"); SysTick->SR =0; counter++;printf("Counter:%d\r\n",counter); }
此函数的功能为输出一个计算值,并在串口中输出,以便观察 5、主程序中,我们传一个配置溢出值为系统时钟-1即1秒种进入一次中断。 【实验现象】 下载到开发板后,打开串口终端,可以成功实现即定功能:
|