/*********************************************************************************************************
** Function name: timer1Init
** Descriptions: 32位定时器1初始化函数
** input parameters: 无
** output parameters: 无
** Returned value: 无
*********************************************************************************************************/
void timer1Init (void)
{
SYSAHBCLKCTRL |= (1ul << 10); /* 打开定时器模块 */
//IOCON_PIO1_0 = PIO1_0_CON;
TMR32B1IR = 1;
TMR32B1PR = 0; /* 设置分频系数 */
TMR32B1MCR = 3; /* 设置MR0 匹配后复位TC */
/* 并产生中断 */
TMR32B1MR0 = 0x0E4E1C00; //FAHBCLK / 1; /* 设置中断时间 */
TMR32B1TCR = 0x01; /* 启动定时器 */
zyIsrSet(NVIC_TIMER32B1, (unsigned long)timer1Isr, PRIO_TWO); /* 设置外部中断并使能 */
}
经过以上初始化之后,仿真发现并没有进入timer1Isr,而是进入了以下中断:
/*********************************************************************************************************
** Function name: defaultVectorHandle
** Descriptions: 默认异常处理程序
** input parameters: none
** output parameters: none
** Returned value: none
*********************************************************************************************************/
void defaultVectorHandle (void)
{
#ifdef DEBUG
while (1);
#else
zyReset(ZY_HARD_RESET);
#endif /* DEBUG */
}
请问是哪里设置错了,导致没有进入正确的中断函数。 |