OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2456|回复: 4

UCOSIII中有没有使用过TIM 基本定时器中断的啊

[复制链接]

37

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2017-1-4
在线时间
431 小时
发表于 2019-1-13 09:14:47 | 显示全部楼层 |阅读模式
1金钱
UCOSIII中想使用TIM基本定时器进行中断,但是仿真发现进入不了中断

最佳答案

查看完整内容[请看2#楼]

操作系统又不会影响你的中断,进不了,估计是你配置有问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2019-1-13 09:14:48 | 显示全部楼层
操作系统又不会影响你的中断,进不了,估计是你配置有问题
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4370
金钱
4370
注册时间
2017-5-30
在线时间
579 小时
发表于 2019-1-13 13:00:02 | 显示全部楼层
没用过UC但是用过其他RTOS,你的代码进不了中断,应该是裸机也进不了,RTOS进中断的时候最好告诉RTOS你进入中断了。你先测试你的代码裸机能否进入中断。或者你贴出代码。
回复

使用道具 举报

37

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2017-1-4
在线时间
431 小时
 楼主| 发表于 2019-1-14 09:11:49 | 显示全部楼层
whj467467274672 发表于 2019-1-13 13:00
没用过UC但是用过其他RTOS,你的代码进不了中断,应该是裸机也进不了,RTOS进中断的时候最好告诉RTOS你进入 ...

void TIM3_Configuration(void)
{
               
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_DeInit(TIM3);/
        /* 设置TIM2CLK 为 72MHZ */
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE);
  /* Time base configuration */                 
  TIM_TimeBaseStructure.TIM_Period =1000;             //当定时器从0计数到999,即为1000次,为一个定时周期
  TIM_TimeBaseStructure.TIM_Prescaler = 71;                    //设置预分频:不预分频,即为72MHz
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;        //设置时钟分频系数:不分频(这里用不到)
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上计数模式
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
   TIM_ClearFlag(TIM3, TIM_FLAG_Update);       
        TIM_ITConfig(TIM3,TIM_IT_Update, ENABLE);                        //使能update中断
  /* TIM3 enable counter */
  TIM_Cmd(TIM3, ENABLE);                         //使能定时器3       
       
          
}

void TIM3_NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;

  /* Configure one bit for preemption priority */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

  /* 配置TIM3_IRQ中断为中断源 */
  NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

void TIM3_IRQHandler(void)   //TIM3中断       
{
       

           OSIntEnter();          //用于统计中断的嵌套层数,对嵌套层数+1
                          
        /*if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
               
                {         
                           //tim3_num++;
                       
                         if ( tim3_num<=PWM_Hight)
                                 
                           {                                         
                              Heat_OPEN ( );                                                              
                           }
                                 else                                 
         {
                                    Heat_CLOSED (  );
                                 }
                                 
                        if ( tim3_num==100)
                               
                            {
                                Heat_CLOSED (  );
                                               
                                               
                                               
                            }
                                       
                                       
                   TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx的中断待处理位:TIM 中断源
                       
                                                       
                }

   OSIntExit();         //对嵌套层数减1,在退出中断前启动任务调度        */
               
}

这是相应的配置和中断代码


回复

使用道具 举报

37

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2017-1-4
在线时间
431 小时
 楼主| 发表于 2019-1-14 10:05:05 | 显示全部楼层
三叶草 发表于 2019-1-13 09:14
操作系统又不会影响你的中断,进不了,估计是你配置有问题

感谢,用原子自己的时间配置就可以了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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