初始化程序:
void Timer1Init(void)
{
T0TCR = 0x02; /* 定时器0复位 */
T0PR = 0; /* 不设时钟分频 */
T0MCR = 0x03; /* 匹配后复位TC,并产生中断 */
T0MR0 = Fpclk*5 ; /* 设置5秒匹配值 */
T0IR = 0x01; /* 清除中断标志 */
T0TCR = 0x01; /* 启动定时器0 */
}
中断程序:
void IRQ_Timer0 (void)
{
uint8 STRING[3]={0x31,0x32,0x33};
T0IR = 0x01; // 清除中断标志
if(i==0)
{
UART1_SendStr(STRING);
}
else i=0;
VICVectAddr = 0x00; // 中断向量结束
}
运行之后,执行完一次中断后又进入中断,连续向串口发送数据,不重新计时...
请大侠帮看一看 |