这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【EV76S68A试用】定时器配置

共1条 1/1 1 跳转至

【EV76S68A试用】定时器配置

工程师
2025-07-02 09:22:15     打赏

 SAM E51的定时器有两种一种为TC,另一个为TCC,TC为简单定时器,TCC为高级定时器,可以配置为TIMER,也可以配置为PWM。这一篇我将分享如何配置为TIMER,产生中断,使用板载的LED来验证。

1、打开MCC,添加TCC0:

image.png

2、我配置他为TIMER,每一毫秒溢出一次,并开启溢出中断:

image.png

3、在plib_tcc0.h中,有如下三个函数是需要使用到的,分别为初始化、开启定时器、注册定时器中断回调函数

image.png

4、在Main.c中添加一个中断回调函数,由于中断为1ms触发一次,因此我用了一个计数,计数到500时翻转一次LED



void TCC0_User_Handler()
{
    static int cnt = 0;
    cnt = cnt +1;
    if(cnt == 500)
    {
        LED_Toggle();
        cnt = 0;
    }
    
}
int main ( void )
{
    /* Initialize all modules */
    SYS_Initialize ( NULL );
    SERCOM5_USART_Initialize();
    SYSTICK_TimerInitialize();
    SYSTICK_TimerStart();
    TCC0_TimerInitialize();
    TCC0_TimerCallbackRegister(TCC0_User_Handler,0);
    TCC0_TimerStart();
    while ( true )
    {
        
        SERCOM5_USART_Write("hello world",sizeof("hello world"));
        SYSTICK_DelayMs(500);
        /* Maintain state machines of all polled MPLAB Harmony modules. */
        SYS_Tasks ( );
    }

    /* Execution should not come here during normal operation */

    return ( EXIT_FAILURE );
}

【结果】

下载到开发板后,LED灯每500ms实现翻转一次

【总结】

图形化的配置可以轻松可视化,当然这方面的知识比较少,查不到相关的资料,只有自己摸索实现。




关键词: EV76S68A     工程创建     MCC     TCC    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]