查看: 2168|回复: 1

[求助] 急!飞思卡尔芯片 S32K144 怎么设置定时器中断优先级?

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
9
最后登录
2020-4-11
发表于 2020-4-9 15:19:28 | 显示全部楼层 |阅读模式
背景:飞思卡尔芯片 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脉冲输出时长时短。。。

请教大虾们怎么解决这个定时问题?
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20003
最后登录
2024-4-24
发表于 2020-4-10 15:55:54 | 显示全部楼层
您好,在中断处理的时候,代码不要太多,可以只设置标志位,尽量将实际要的操作放在主程序里,因为不管谁的优先级高,都是会影响。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-24 20:10 , Processed in 0.113364 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表