打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+定时器中断LED闪烁

[复制链接]
1042|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dql2015|  楼主 | 2021-3-27 20:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

定时器是MCU常用功能之一,本次配置一个1ms定时中断。
系统时钟设置16MHz,便于后面分频:

开启全局中断:

16分频,定时器时钟为1MHz,向下计数模式,开启中断:

主函数设置:


主函数首先设置定时器初值,然后注册溢出中断函数,由于定时器时钟配置为1MHz,向下计数模式,因此从初值999减到0即为1ms。
在定时器中断函数中清除中断标志,重新设置初值。

#include "mcc_generated_files/mcc.h"
/*
    Main application
*/
int i=0;
void tca0_cb(void)
{  
    TCA0_ClearOverflowInterruptFlag();
    TCA0_WriteTimer(999);
    i++;
    if(i==1000)
    {
        i=0;
        LED_Toggle();
    }
}
int main(void)
{
    /* Initializes MCU, drivers and middleware */
    SYSTEM_Initialize();
    /* Replace with your application code */;                                       
    LED_SetDigitalOutput();
    LED_SetHigh();
        TCA0_WriteTimer(999);
    TCA0_SetOVFIsrCallback(tca0_cb);
    while (1)
    {        
        DELAY_milliseconds(1000);     
    }
}
/**
    End of File
*/


实验现象:

测试工程源码:
timer_led_test.X.rar (144.39 KB)

使用特权

评论回复
沙发
typeof| | 2021-4-6 20:29 | 只看该作者
入门的好资料呢。   

使用特权

评论回复
板凳
kkzz| | 2021-4-6 20:29 | 只看该作者
CuriosityNano的最大频率是多少呢   

使用特权

评论回复
地板
htmlme| | 2021-4-6 20:29 | 只看该作者
学习一下定时器的功能。   

使用特权

评论回复
5
pklong| | 2021-4-6 20:29 | 只看该作者
支持几个定时器呢   

使用特权

评论回复
6
touser| | 2021-4-6 20:29 | 只看该作者
谢谢楼主分享的CuriosityNano资料。  

使用特权

评论回复
7
uytyu| | 2021-4-6 20:29 | 只看该作者
以后有机会申请CuriosityNano试试看。  

使用特权

评论回复
8
iyoum| | 2021-4-6 20:30 | 只看该作者
1ms的闪烁是不是太快了。  

使用特权

评论回复
9
jkl21| | 2021-4-6 20:30 | 只看该作者
谢谢楼主分享的资料。  

使用特权

评论回复
10
wwppd| | 2021-4-6 20:30 | 只看该作者
定时器中断支持几个?

使用特权

评论回复
11
usysm| | 2021-4-6 20:30 | 只看该作者
         

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

373

帖子

7

粉丝