[STM32F0]

STM32F030RCT6的 TIM6定时器无法正常工作

[复制链接]
1188|10
手机看帖
扫描二维码
随时随地手机跟帖
鑫凯瑞|  楼主 | 2019-8-21 17:52 | 显示全部楼层 |阅读模式
有没有大神帮忙看一下,什么问题,代码如下:
void TIM6_Init(void)
{      
        TIM_TimeBaseInitTypeDef                              TIM_TimeBaseInitStructure;
        NVIC_InitTypeDef                        NVIC_InitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);  //tim6时钟使能,APB时钟48M
       
        TIM_TimeBaseInitStructure.TIM_Period = 500;
        TIM_TimeBaseInitStructure.TIM_Prescaler = 48000-1;  //定时500ms
        TIM_TimeBaseInitStructure.TIM_ClockDivision = 0 ; //TIM_CKD_DIV1  分频系数为1
        TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数       
        TIM_TimeBaseInit(TIM6, &TIM_TimeBaseInitStructure);

        NVIC_InitStructure.NVIC_IRQChannel = 17;//TIM6_DAC_IRQn //定时器6中断
        NVIC_InitStructure.NVIC_IRQChannelPriority = 1; //优先级0
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
       
//        TIM_ClearITPendingBit(TIM6,TIM_IT_Update);
       
        TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE); //允许定时器6更新中断
        TIM_Cmd(TIM6,ENABLE); //使能定时器6   
}

void TIM6_DAC_IRQHandler(void)
{   
        if(TIM_GetITStatus(TIM6,TIM_IT_Update) != RESET) //溢出中断
        {
                LED_TURN;
        }
        TIM_ClearITPendingBit(TIM6,TIM_IT_Update);  //清除中断标志位
//          TIM6->SR &= ~(1<<0);
//                LED_TURN;
}
//==============以上是代码=============================

使用的是官网下载的 V1.5.0库,一直怀疑没有进入中断

;* File Name          : startup_stm32f0xx.s
;* Author             : MCD Application Team
;* Version            : V1.5.0
;* Date               : 05-December-2014
;* Description        : STM32F051 devices vector table for MDK-ARM toolchain.


  * @file    stm32f0xx.h
  * @author  MCD Application Team
  * @version V1.5.0
  * @date    05-December-2014

使用特权

评论回复
caoenq| | 2019-8-22 08:39 | 显示全部楼层
HAL库试一下

使用特权

评论回复
yklstudent| | 2019-8-22 08:46 | 显示全部楼层
检查你的startup_stm32f030.s文件,确认下里面有没有TIM6_IRQHandler定时器中断,没有就换启动文件或者自己参考其它的添加试试

使用特权

评论回复
鑫凯瑞|  楼主 | 2019-8-22 10:31 | 显示全部楼层
yklstudent 发表于 2019-8-22 08:46
检查你的startup_stm32f030.s文件,确认下里面有没有TIM6_IRQHandler定时器中断,没有就换启动文件或者自己 ...

启动文件截取:
__Vectors       DCD     __initial_sp                   ; Top of Stack
                DCD     Reset_Handler                  ; Reset Handler
                DCD     NMI_Handler                    ; NMI Handler
                DCD     HardFault_Handler              ; Hard Fault Handler
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     SVC_Handler                    ; SVCall Handler
                DCD     0                              ; Reserved
                DCD     0                              ; Reserved
                DCD     PendSV_Handler                 ; PendSV Handler
                DCD     SysTick_Handler                ; SysTick Handler

                ; External Interrupts
                DCD     WWDG_IRQHandler                ; Window Watchdog
                DCD     PVD_IRQHandler                 ; PVD through EXTI Line detect
                DCD     RTC_IRQHandler                 ; RTC through EXTI Line
                DCD     FLASH_IRQHandler               ; FLASH
                DCD     RCC_IRQHandler                 ; RCC
                DCD     EXTI0_1_IRQHandler             ; EXTI Line 0 and 1
                DCD     EXTI2_3_IRQHandler             ; EXTI Line 2 and 3
                DCD     EXTI4_15_IRQHandler            ; EXTI Line 4 to 15
                DCD     TS_IRQHandler                  ; TS
                DCD     DMA1_Channel1_IRQHandler       ; DMA1 Channel 1
                DCD     DMA1_Channel2_3_IRQHandler     ; DMA1 Channel 2 and Channel 3
                DCD     DMA1_Channel4_5_IRQHandler     ; DMA1 Channel 4 and Channel 5
                DCD     ADC1_COMP_IRQHandler           ; ADC1, COMP1 and COMP2
                DCD     TIM1_BRK_UP_TRG_COM_IRQHandler ; TIM1 Break, Update, Trigger and Commutation
                DCD     TIM1_CC_IRQHandler             ; TIM1 Capture Compare
                DCD     TIM2_IRQHandler                ; TIM2
                DCD     TIM3_IRQHandler                ; TIM3
                DCD     TIM6_DAC_IRQHandler            ; TIM6 and DAC
                DCD     0                              ; Reserved
                DCD     TIM14_IRQHandler               ; TIM14
                DCD     TIM15_IRQHandler               ; TIM15
                DCD     TIM16_IRQHandler               ; TIM16
                DCD     TIM17_IRQHandler               ; TIM17
                DCD     I2C1_IRQHandler                ; I2C1
                DCD     I2C2_IRQHandler                ; I2C2
                DCD     SPI1_IRQHandler                ; SPI1
                DCD     SPI2_IRQHandler                ; SPI2
                DCD     USART1_IRQHandler              ; USART1
                DCD     USART2_IRQHandler              ; USART2
                DCD     0                              ; Reserved
                DCD     CEC_IRQHandler                 ; CEC
                DCD     0                              ; Reserved
               
__Vectors_End

                EXPORT  WWDG_IRQHandler                [WEAK]
                EXPORT  PVD_IRQHandler                 [WEAK]
                EXPORT  RTC_IRQHandler                 [WEAK]
                EXPORT  FLASH_IRQHandler               [WEAK]
                EXPORT  RCC_IRQHandler                 [WEAK]
                EXPORT  EXTI0_1_IRQHandler             [WEAK]
                EXPORT  EXTI2_3_IRQHandler             [WEAK]
                EXPORT  EXTI4_15_IRQHandler            [WEAK]
                EXPORT  TS_IRQHandler                  [WEAK]
                EXPORT  DMA1_Channel1_IRQHandler       [WEAK]
                EXPORT  DMA1_Channel2_3_IRQHandler     [WEAK]
                EXPORT  DMA1_Channel4_5_IRQHandler     [WEAK]
                EXPORT  ADC1_COMP_IRQHandler           [WEAK]
                EXPORT  TIM1_BRK_UP_TRG_COM_IRQHandler [WEAK]
                EXPORT  TIM1_CC_IRQHandler             [WEAK]
                EXPORT  TIM2_IRQHandler                [WEAK]
                EXPORT  TIM3_IRQHandler                [WEAK]
                EXPORT  TIM6_DAC_IRQHandler            [WEAK]
                EXPORT  TIM14_IRQHandler               [WEAK]
                EXPORT  TIM15_IRQHandler               [WEAK]
                EXPORT  TIM16_IRQHandler               [WEAK]
                EXPORT  TIM17_IRQHandler               [WEAK]
                EXPORT  I2C1_IRQHandler                [WEAK]
                EXPORT  I2C2_IRQHandler                [WEAK]
                EXPORT  SPI1_IRQHandler                [WEAK]
                EXPORT  SPI2_IRQHandler                [WEAK]
                EXPORT  USART1_IRQHandler              [WEAK]
                EXPORT  USART2_IRQHandler              [WEAK]
                EXPORT  CEC_IRQHandler                 [WEAK]


只能怀疑是库的版本太低了

使用特权

评论回复
香水城| | 2019-8-22 14:34 | 显示全部楼层
怎么个异常法?

感觉你是想使用STM32F0定时器中断,检查下定时器外设时钟、启动文件。

还有,建议使用STM32CubeMx配置下,很快出结果。

工具的选择很重要!

使用特权

评论回复
guanjiaer| | 2019-9-19 11:49 | 显示全部楼层
现在是什么现象啊

使用特权

评论回复
heimaojingzhang| | 2019-9-19 11:56 | 显示全部楼层
楼主能详细描述一下吗

使用特权

评论回复
keaibukelian| | 2019-9-19 11:59 | 显示全部楼层
看不出来什么问题

使用特权

评论回复
paotangsan| | 2019-9-19 12:04 | 显示全部楼层
不知道具体现象怎么排除问题啊

使用特权

评论回复
labasi| | 2019-9-19 12:35 | 显示全部楼层
光看代码看不出来什么

使用特权

评论回复
木木guainv| | 2019-9-19 12:57 | 显示全部楼层
希望楼主详细描述一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝