📄 timer_driver.c
字号:
/****************************************************************************
* 文 件 名:Timer_Driver.c
* 版 本: V1.0
* 连 接:
* 功 能:定时器驱动函数
* 作者:黄振升
* 日 期:2007/8/21
*---------------历史版本信息-------------------------------------------------
* 修 改 人: 黄振升
* 版 本:
* 日 期: 2007/8/21
* 描 述:
****************************************************************************/
/***********************************************************************
包含文件
***********************************************************************/
#include "config.h"
#define TIMER1FREQUENCY 20000; //Timer中断频率
void Timer1_Handler(void);
/***********************************************************************
* 名 称:Timer1_Init(void)
* 功 能:Timer1定时初始化,作为AD采样定时
* 入口参数:
* 出口参数: 无
* 说 明:
***********************************************************************/
void Timer1_Init(void)
{
T1TC = 0; // 定时器设置为0
T1PR = 0; // 时钟不分频
T1MCR = 0x03; // 设置T0MR0匹配后复位T0TC,并产生中断标志
T1MR0 = Fpclk / TIMER1FREQUENCY; // 0.1秒定时
T1TCR = 0x01; // 启动定时器
IRQEnable(); // 使能IRQ中断
/* 打开Timer0、EINT0中断(设置向量控制器,即使用向量IRQ) */
VICIntSelect = 0x00000000; // 设置所有中断分配为IRQ中断
VICVectCntl1 = 0x20 | 5; // 分配Timer0中断到向量中断0
VICVectAddr1 = (uint32)Timer1_Handler; // 设置中断服务程序地址
T1IR = 0x01; // 清除Timer0
VICIntEnable = (1<<5);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -