基本定时器TIM6 进不了中断服务程序

2019-08-21 12:09发布

这个是我的源代码,可是总是进不了中断,哪里出问题了》???菜鸟求祝。。。。。论坛上也没有关于基本定时器的使用,谢谢各位大神



void time6_init(u16 psc,u16 arr)
{
  RCC->APB1ENR|=1<<4;  //使能定时器6的时钟  
              
  TIM6->SC=psc;  //设置预分频数             
//  TIM6->EGR|=1<<0;   TIM6->ARR=arr;   //设置重装值
  TIM6->DIER|=1<<0;     //使能UIE更新中断
  TIM6->SR&=~(1<<0);   //清除状态标志位
   TIM6->CR1|=1<<0;   //一加上这个语句   程序就一直运行在这儿
  #ifdef EN_TIME6_INTERRUPT
 MY_NVIC_Init(1,1,TIM6_IRQChannel,2);//抢占优先级为0 次优先机0 组2 
  #endif }
//开启定时器
void time6_enable(void)
{
 TIM6->CR1|=1<<0;         //计数器使能
// fengmingqi=1;
}
//关闭定时器
void time6_disable(void)
{
 TIM6->CR1&=~(1<<0);    //计数器失能
}
void TIM6_IRQHandler(void)

 fengmingqi=1;
  if(TIM6->SR&0x0001)    //更新中断标志
  {
      LED2=!LED2;
  }
  TIM6->SR&=~(1<<0);    //清除更新中断标志位
   
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
liawei123
1楼-- · 2019-08-22 07:26
回复【7楼】正点原子:
---------------------------------
我也遇见1楼的问题了,换了启动文件,还是不行。
正点原子
2楼-- · 2019-08-22 09:38
回复【8楼】liawei123:
---------------------------------
你的芯片有没有TIM6先?
STM32有的有,有的没有.好好看看选型手册.
xh2008email
3楼-- · 2019-08-22 14:17
LZ搞定了没有啊?搞定说明一下,怎么搞定的
破肚
4楼-- · 2019-08-22 16:19
 精彩回答 2  元偷偷看……
xxssl
5楼-- · 2019-08-22 18:50
本帖最后由 xxssl 于 2017-4-18 12:51 编辑
正点原子 发表于 2012-7-24 11:07
你得换过一个.s文件
默认的STM32F10x.s是没有定义TIM6_IRQHandler的.
你用hd.s.
本论坛搜索.s,即可找到.

原子说的对,我也遇到这种情况,TIM6开启了中断就会停留在一个地方,然后把STM32F10x.s换成startup_stm32f10x_hd就正常运行了,我使用的是STM32F103VCT6,以前一直使用的是STM32F103C8T6

一周热门 更多>