zoukankan      html  css  js  c++  java
  • LPC1788定时器使用

    #ifndef __TIM_H_

    #define __TIM_H_

     

    #include "common.h"

     

    extern u8 tim1_mr0_flag;

     

    void tim0_ch0_count_int_init(u32 pr,u32 count);//定时器0 通道0 计数模式 中断模式 初始化

     

     

     

     

    #endif

     

     

     

     

     

     

    #include "tim.h"

     

    u8 tim1_mr0_flag = 0;

     

    void tim0_ch0_count_int_init(u32 pr,u32 count)  //定时器0 通道0 计数模式 中断模式 初始化

    {

        //打开TIM0时钟

        LPC_SC->PCONP |= (1<<1);//打开时钟

        LPC_TIM0->TCR |= (1<<1);//复位定时器   因为此处复位了寄存器,所以系统中使用多个定时器通道的时候这一位一定要改

        LPC_TIM0->TCR = 0x00;//禁止定时器 退出复位

        LPC_TIM0->PR = pr;//设置预分频值

        LPC_TIM0->MR0 = count;//预设计数值

        LPC_TIM0->MCR |= (1<<1)|(1<<0);//mr0 匹配时复位 并且中断打开

        LPC_TIM0->CTCR &= ~(3<<0);//工作在计数模式

       

        //此时,需要配置中断

        NVIC_SetPriority(TIMER0_IRQn,NVIC_EncodePriority(PriorityGroup2,TIM0_PreemptPriority,TIM0_SubPriority));

        LPC_TIM0->IR |= (1<<0);//清除中断

        NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断

        NVIC_EnableIRQ(TIMER0_IRQn);//打开中断通道

       

        //打开定时器

        LPC_TIM0->TCR |= (1<<0);

    }

     

    void TIMER0_IRQHandler(void)

    {

        if((LPC_TIM0->IR & 0x01))//如果是通道1发生中断

        {

            LPC_TIM0->IR |= (1<<0);//清除中断

            NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断

            tim1_mr0_flag = 1;

        }

        else

        {

            //现在还没做其他的通道的中断

            LPC_TIM0->IR = 0xff;//清除中断

            NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断

        }

    }

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    GPU 版 TensorFlow failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
    Python -- 值转换为字符串的两种机制
    Python
    vim中注释多行python代码
    HTTP协议状态码详解(HTTP Status Code)
    关于Python报错:SyntaxError: Non-ASCII character 'xe5' in file的解决方法
    Linux如何查看进程、杀死进程、启动进程等常用命令
    vim 如何设置显示行号和缩进
    一、报错
    二、极光推送
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4338713.html
Copyright © 2011-2022 走看看