本帖最后由 南来之风 于 2022-12-3 20:26 编辑
笔者在这篇文章介绍如何在Harmony环境下配置使用ATSAMD51(Cortex M4内核)的Systick。系统滴答(SysTick)定时器是一个非常基本的倒计时定时器,用于在每隔一 定的时间产生一个中断,即使是系统在睡眠模式下也能工作,是一个非常基本的内核外设。
MCC进入,然后选择Harmony界面。
在System点击,右侧配置选项处,展开System,展开Systick,勾选 Enable Systick,以及Systick Interrupt。
点击左侧”Generate“生成代码
切换到代码编辑界面前,必须认真查看输出窗口没有error
没有error后,再次点击MCC按钮,切换到代码编辑界面。这里直接修改main.c:
void timeout_handler(uintptr_t context)
{
static int cnt = 0;
if(cnt == 1000){
GPIO_PC18_User_LED0_Toggle();
cnt = 0;
}else
cnt++;
}
int main(){
...
SYSTICK_TimerCallbackSet(&timeout_handler, (uintptr_t) NULL);
SYSTICK_TimerStart();
...
}
最终效果:
|