📄 timer.c
字号:
#include "timer.h"
#include "libtimer.h"
#include "libvic.h"
void TimerInit(int TimerID,int TimerType,int IRQHandler,int s,int ms,int us)
{
StructTimer *Timer;
if(TimerID==1)
Timer = TIMER1;
else
Timer = TIMER0;
Timer->TPR = 0; // 设置定时器分频为1分频,得11059200Hz
if(TimerType==TIMER_TYPE_CYCLE) //循环定时器
Timer->TMCR = 0x03;
else //单周期定时器
Timer->TMCR = 0x01;
Timer->TMR0 = s*11059200;//+ms*11059.2+us*11.0592;
Timer->TTCR = 0x03; // 启动并复位T0TC
Timer->TTCR = 0x01;
IRQOpen(IRQ_TIMER0+TimerID,IRQ_TIMER0+TimerID,IRQHandler); //定时器0使用优先级14,定时器1使用优先级15
}
__weak void TimerClrInt(int TimerID)
{
StructTimer *Timer;
if(TimerID==1)
Timer = TIMER1;
else
Timer = TIMER0;
Timer->TIR = 0x01;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -