关于k64配置PIT遇到的问题

2020-02-11 09:51发布

本帖最后由 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;
}
0条回答

一周热门 更多>