【实验器材】
【开发环境】
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秒种进入一次中断。
【实验现象】
下载到开发板后,打开串口终端,可以成功实现即定功能:
更多回帖