| 本帖最后由 南来之风 于 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();
...
}
 最终效果:
 
 
 
 |