irq_timer0.c
来自「LPC2129实现从SPI通讯和两个串口定时器中断」· C语言 代码 · 共 65 行
C
65 行
#define IRQ_GLOBALES 1
#include "LPC2294.h" //调用LPC2129寄存器定义
#include "IRQ_Timer0.H"
#include "UART1.h"
#include "InitDev.h"
#include "driver.h"
uint8 TimeIndex = 0;
// uint8 inn;
//int32 AdResult = 0,AdZero = 0,AdTol = 0;
void InitTimer0(void)
{
//设置Timer0
T0IR = 0xffffffff;//复位所有的中断
T0TC = 0; //计数器初始为0
T0PR = 9; //T=(TOPR+1)*TOMR0/Fpclk ,单位S;Fpclk见config.h;99定时1S,9/0.1S,0/0.01S.
T0MCR = 0x03; //匹配后发生中断且复位
T0MR0 = 110592; //匹配数值
// T0TCR = 0x03; //可设成为0x03?
// T0TCR = 0x01;
}
//Timer0中断-产生计算时钟
void __irq IRQ_Timer0(void)
{
/*
uint32 bak;
if((T0IR&0x01)== 0x01) //判断是否是MR0中断
{
bak=VICIntEnable; // 备份当前VICIntEnable的值
VICIntEnClr=(1<<4); // 禁止当前优先级中断
VICVectAddr=0x00; // 清除中断逻辑,以便VIC可以响应更高优先级IRQ中断
if(TimeIndex==1)
{
Led_off();
TimeIndex=0;
}
else
{
Led_on();
TimeIndex=1;
}
VICIntEnable=bak;
sdhx(&RXD_BUF[0]);
}
sd=1;
// 中断处理结束
VICVectAddr=0x00;
T0IR = 0x01; // 清除中断标志
*/
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?