注册 登录
查看: 792|回复: 10

kl26 使用PIT0、PIT1定时中断,它们的的中断服务函数什么写

[复制链接]
发表于 2014-4-23 19:20:19 | 显示全部楼层 |阅读模式
kl26 使用PIT0、PIT1定时中断,它们的的中断服务函数什么写,如何同时使用两个PIT定时中断
回复

使用道具 举报

发表于 2014-4-23 19:39:20 | 显示全部楼层
参考我们提供的PIT例程。
回复 支持 反对

使用道具 举报

发表于 2014-4-23 19:39:52 | 显示全部楼层
两者共用同样的中断号,所以需要写在一个函数内,然后根据标志位来判断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-23 20:04:42 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-23 19:39
两者共用同样的中断号,所以需要写在一个函数内,然后根据标志位来判断

void PIT_IRQHandler()
{
   if(PIT_TFLG(PIT0) == 1 )        //判断是否 PIT0 进入中断
   {
        tsl1401_time_isr();
       PIT_Flag_Clear(PIT0);
   }
    if(PIT_TFLG(PIT1) == 1 )        //判断是否 PIT0 进入中断
    {
      
        PIT_Flag_Clear(PIT1);
   count1=count ;
   count =0;
   if(lptmr_flag==1)
   {
   printf("正转:%d\n",   count1);
   }
   if(lptmr_flag==2)
   {
   printf("反转:%d\n",   count1);
   }
   if(lptmr_flag==0)
   {
    printf("正转:%d\n",   count);
   }
   
   
   lptmr_flag=0;
        
    }
   
}
这样对吗?
当PIT_TFLG(PIT0) == 1是进入PIT0定时中断
当PIT_TFLG(PIT1) == 1是进入PIT1定时中断
回复 支持 反对

使用道具 举报

发表于 2014-4-23 20:12:13 | 显示全部楼层
点滴 发表于 2014-4-23 20:04
void PIT_IRQHandler()
{
   if(PIT_TFLG(PIT0) == 1 )        //判断是否 PIT0 进入中断

是的,根据标志位来判断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-23 20:17:11 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-23 20:12
是的,根据标志位来判断

PIT0,PIT1哪个中断优先
回复 支持 反对

使用道具 举报

发表于 2014-4-23 20:35:05 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-23 20:12
是的,根据标志位来判断

对对 优先级怎么设置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-23 20:43:15 | 显示全部楼层
xiayank 发表于 2014-4-23 20:35
对对 优先级怎么设置

我想PIT0,PIT1同时中断时,PIT0先中断,PIT后中断,上面的程序这样写能实现这样的功能吗?
回复 支持 反对

使用道具 举报

发表于 2014-4-23 20:51:23 | 显示全部楼层
点滴 发表于 2014-4-23 20:17
PIT0,PIT1哪个中断优先

    NVIC_SetPriority(PORTA_IRQn,0);        //配置优先级   
NVIC_SetPriority(PORTC_PORTD_IRQn,1);         //配置优先级  
  NVIC_SetPriority(DMA0_IRQn,2);          //配置优先级  
  NVIC_SetPriority(PIT_IRQn,3);          //配置优先级
0最优先
回复 支持 反对

使用道具 举报

发表于 2014-4-23 20:52:23 | 显示全部楼层
点滴 发表于 2014-4-23 20:17
PIT0,PIT1哪个中断优先

Coertx-M4系列 中断嵌套的 说明 - 智能车资料区 - 山外-vcan123论坛 http://www.vcan123.com/forum.p ... ;tid=959&ctid=1
回复 支持 反对

使用道具 举报

发表于 2014-11-25 18:49:31 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-23 19:39
两者共用同样的中断号,所以需要写在一个函数内,然后根据标志位来判断

山外哥,最新的库,中断服务函数在哪定义的啊,找了所有的文件都没找到,伤心!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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