|
本帖最后由 122541325 于 2017-1-27 18:34 编辑
刚接触飞思卡尔,在玩K64,玩到PIT定时器时遇到了个问题,哪个大哥大姐帮忙看看。配置完后,同过仿真发现PIT计数器不断在运行,但是就是不进入中断,不知哪里配置错误了。代码如下:
void Pit_Init()
{
Pit_config(PIT0,PIT_s);
Pit_NVIC();
}
void Pit_config(PITn_e pitx ,uint32_t cnt)
{
SIM->SCGC6 |= SIM_SCGC6_PIT_MASK ; //使能PIT时钟
PIT->MCR &= ~PIT_MCR_MDIS_MASK; //开启PIT模块时钟 ,0使能;1禁用
PIT->MCR &= ~PIT_MCR_FRZ_MASK; //0:调试模式PIT定时器继续运行;1:调试模式PIT定时器停止运行
PIT_LDVAL(pitx) = cnt-1; //设置定时频率
PIT_TCTRL(pitx) = PIT_TCTRL_TIE_MASK; //使能PIT中断请求
PIT_Flag_Clear(PIT0);
PIT_TCTRL(pitx) = PIT_TCTRL_TEN_MASK; //使能PIT
//NVIC_SetPriority(PIT0_IRQn,0);
}
void Pit_NVIC(void)
{
NVIC_SetPriorityGrouping(NVIC_PriorityGroup_0);
NVIC_SetPriority(PIT0_IRQn,NVIC_EncodePriority(NVIC_PriorityGroup_0,0,1));/* PIT抢占优先级0,子优先级1*/
NVIC_EnableIRQ(PIT0_IRQn);
}
void PIT0_IRQHandler(void)
{
PIT_Flag_Clear(PIT0);
//T4_LED_Toogle;
T4_LED_ON;
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|