专栏中心

EEPW首页 > 专栏 > 裸机Timer

裸机Timer

发布人:电子禅石 时间:2017-09-01 来源:工程师 发布文章

所以根据上面的模块结构图和说明想要实现定时器,我们需要做如下几个步骤:

1    选择Timer/Countermo模块为timer模式,并设置bitmode816,2,32位)

2    通过设置分屏来设置timer的时钟

3    设置cc[n](后面我们的例子选择使用cc0),来设置计数到多少产生compares[n]事件(当计数值技术到cc[n]的值时对应产生compare[n]事件)

4    设置compare事件产生时触发中断。

5     通过NVIC函数启动MCU timer中断

6    最后启动timer就可以了。

#include "nrf51.h"
#include "nrf_gpio.h"
//定义自己板子上的LED灯
#define LED  22
int main(){
    nrf_gpio_cfg_output(LED);
    //NRF_TIMER0定义在nrf51.h中,该指针指向timer0中的寄存器组
    NRF_TIMER0->PRESCALER  = 4;     //2^4   16分频得到1M timer时钟
    NRF_TIMER0->MODE = 0;           //timer模式
    NRF_TIMER0->BITMODE = 3;        // 设置32bit
    NRF_TIMER0->CC[0] = 1000000;    //一个tick是1us,1000000代表1s
    NRF_TIMER0->INTENSET = 1<<16;//设置compare[0]事件产生时触发中断
    //该设置使timer模块中的conter计数到cc[0]值时会自动清零,以带到重//新计数的目的
    NRF_TIMER0->SHORTS = 1;
    //启动timer模块
    NRF_TIMER0->TASKS_START = 1;
    //开启MCU的timer0中断 
    NVIC_SetPriority(TIMER0_IRQn, 3);
    NVIC_ClearPendingIRQ(TIMER0_IRQn);
    NVIC_EnableIRQ(TIMER0_IRQn);
    while(1);
    return 0;
}

//中断函数中翻转灯状态
void TIMER0_IRQHandler(){
    if(NRF_TIMER0->EVENTS_COMPARE[0] == 1){
       NRF_TIMER0->EVENTS_COMPARE[0] = 0;     //清除事件,不然会导致一
                                              //直产生中断
       nrf_gpio_pin_toggle(LED);                
    }
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

简单制胜—第四部分:高效主动均衡背后的算法

人工智能领域的投资已达数万亿,从当前技术中实现通用人工智能(AGI)的可能性“接近于零”

“瑞萨杯2011全国大学生电子设计竞赛”新闻发布会①

金升阳超低纹波1mV系列开关电源重磅发布—LRN65-20Bxx系列

“瑞萨杯2011全国大学生电子设计竞赛”新闻发布会②

SST 89C54 89C58单片机资料

有刷VS无刷 - 电机控制电子实验室第2章

视频 2011-07-04

2026年PCIM Asia Shenzhen正式定档,连接全球电力电子产业与华南核心产业集群

【IEEE好文分享】AI智能体能为您做什么?

智能计算 2025-12-08

成本压力下的转型与机遇:2026年中国智能手机市场十大洞察

介绍适合 FPGA 和服务器背板的 LT3070 负载点稳压器

200-600W高功率密度电源——LOFxxx-20BxxR2

ROHM首次推出用于精密目标检测的高速VCSEL光学传感器

配套ACDC机壳开关电源的宽压金属滤波器——FC-LxxM系列

“第三届OpenHW开放源码硬件与嵌入式大赛”于2011年6月正式启动

视频 2011-06-20

纳芯微成功登陆香港联交所—以香港为全球化支点,开启从中国标杆到全球优选的新征程

模拟技术 2025-12-08

SST39VF080 SST39VF016 1M,2M字节 Flash

SST89E564 SST89E554 SST89V554 SST89V564单片机资料

更多 培训课堂
更多 焦点
更多 视频

技术专区