aragon 发表于 2020-4-7 16:07:16

飞思卡尔芯片 S32K144 怎么设置定时器中断优先级?

本帖最后由 aragon 于 2020-4-7 16:25 编辑

背景:飞思卡尔芯片 S32K144 使用专家模式 定义了三个定时器 1ms   59us25us

初始化代码如下

void Timer_Init(void)
{
        LPIT_DRV_Init(INST_TICKTIMER, &TickTimer_InitConfig);

        INT_SYS_InstallHandler(LPIT0_Ch0_IRQn,&Timer_Server_1ms,(isr_t *)0);
        LPIT_DRV_InitChannel(INST_TICKTIMER, /*uint32_t channel*/0, &TickTimer_Config_1ms);

        INT_SYS_InstallHandler(LPIT0_Ch1_IRQn,&Timer_Server_59us,(isr_t *)0);
        LPIT_DRV_InitChannel(INST_TICKTIMER, /*uint32_t channel*/1, &TickTimer_Config_59us);

        INT_SYS_InstallHandler(LPIT0_Ch2_IRQn,&Timer_Server_25us,(isr_t *)0);
        LPIT_DRV_InitChannel(INST_TICKTIMER, /*uint32_t channel*/2, &TickTimer_Config_25us);
}

问题:运行时候,使用25us定时时基输出100us长度脉冲的时候,发现很容易被59us定时的中断影响,导致100us脉冲输出时长时短。。。

请教大虾们怎么解决这个定时问题?

aragon 发表于 2020-4-8 11:33:11


顶起来

anxiangbo 发表于 2020-4-8 11:45:59

这种情况用PWM不是很好码?用定时器开这么多中断,会受影响的

aragon 发表于 2020-4-9 08:42:36

anxiangbo 发表于 2020-4-8 11:45
这种情况用PWM不是很好码?用定时器开这么多中断,会受影响的

这个输出100us脉冲不是方波呢,是大概每30ms左右频率输出一个,间隔时间不固定。

只要保证25us中断优先于另外两个就可以,不知道怎么设置

anxiangbo 发表于 2020-4-9 10:06:47

去这里提问吧http://www.nxpic.org/module/forum/forum-1335-1.html会给你答复的

aragon 发表于 2020-4-9 15:23:40

anxiangbo 发表于 2020-4-9 10:06
去这里提问吧http://www.nxpic.org/module/forum/forum-1335-1.html会给你答复的

嗯,感谢!~
页: [1]
查看完整版本: 飞思卡尔芯片 S32K144 怎么设置定时器中断优先级?