|
本帖最后由 aragon 于 2020-4-7 16:25 编辑
背景:飞思卡尔芯片 S32K144 使用专家模式 定义了三个定时器 1ms 59us 25us
初始化代码如下
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脉冲输出时长时短。。。
请教大虾们怎么解决这个定时问题?
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|