我的KL25Z怎么进不了中断啊,中断也开了,中断函数也写了,就是进不去啊
- void Pit_init(void)
- {
- SIM_SCGC6 |= SIM_SCGC6_PIT_MASK; /*PIT定时器系统时钟使能*/
- enable_irq(INT_PIT-16); /*定时器中断向量使能*/
- PIT_MCR=0X00; /*标准定时器时钟使能*/
- PIT_TCTRL1=0X00; /*定时器的级联位,使能位,中断位全部清除*/
- PIT_LDVAL1=48000; //定时器初始值,定时器采用倒计时方式,记到0是产生中断,这里计时PIT_LDVAL1/SYSCLOCK,这里相当于1ms
- PIT_TCTRL1=PIT_TCTRL_tiE_MASK; //定时器中断使能位使能
- PIT_TFLG1=0X01; //中断标志位,标志超时并发送中断请求,向该位写1,即为清除该标志
- PIT_TCTRL1=PIT_TCTRL_TEN_MASK; //定时器使能位使能
- }
-
- void Pit1_isr(void)
- {
-
- //PIT_TCTRL1=PIT_TCTRL_TEN_SHIFT; // 关闭定时器
- PIT_TFLG1=0X01; //清除标志位
-
- RED_ON; //红灯亮
- BLUE_ON; //蓝灯亮
- // PIT_TCTRL1=PIT_TCTRL_TEN_MASK;
-
- }
复制代码在isr.h里也定义了
- #ifndef __ISR_H
- #define __ISR_H 1
-
- extern void tpm0_isr(void);
- extern void tpm1_isr(void);
- extern void Pit1_isr(void);
-
-
- #undef VECTOR_033
- #define VECTOR_033 tpm0_isr
-
- #undef VECTOR_034
- #define VECTOR_034 tpm1_isr
-
- #undef VECTOR_038
- #define VECTOR_038 Pit1_isr
-
-
- #endif //__ISR_H
复制代码不知道为什么就是不执行中断,求帮助
定时器诸如:PIT、LPTMR、TPM之类的模块都有设置调试状态时他们的counter是如何运行的。
如果设置的不好,他们的counter在调试时是不会增长的,自然就会导致无法进入中断。
一周热门 更多>