⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 基于lpc2200 arm的 usb固件
💻 C
字号:
#include "config.h"
#include "define.h"
#include "oled.h"
extern CURRENT_DEVICE_INFO current_device_info;
extern uint8 flag;
extern uint16 count;
/****************************************************************************
* 名称:Time0Init()
* 功能:初始化定时器0,定时时间为1S,并使能中断。 
* 入口参数:无
* 出口参数:无
****************************************************************************/
void  Time0Init(void)
{   /* Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz
	   Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz
	*/
	T0PR = 10;			// 设置定时器0分频为10分频,得1105920Hz
	T0MCR = 0x03;		// 匹配通道0匹配中断并复位T0TC
	T0MR0 = 110592;	    // 比较值(1S定时值)
	T0TCR = 0x03;		// 启动并复位T0TC
	T0TCR = 0x01; 
	//定时100ms
	
}
/****************************************************************************
* 功能:定时器 0  中断回掉函数
* 入口参数:无
* 出口参数:无
****************************************************************************/
void IRQ_Time0_fn(void)
{ 

          flag++;
          
         if(flag==10)//测试每秒程序main中的while能够跑多少个循环,现在能够跑50k次每秒
        {//RS232_SendByte((uint8)(count>>8));
         //RS232_SendByte((uint8)(count&0xff));
         count=0;
         flag=0;
         }
        
         
         T0IR = 0x01;							    // 清除中断标志 
   	     current_device_info.millisecond=current_device_info.millisecond+1;
   	     if(current_device_info.millisecond==10)current_device_info.millisecond=0;
 
     //   display_millisecond(oled_display_info.millisecond/100);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -