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