STM32F030C6 定时器16、17作为基本定时器使用无法工作

2019-08-23 16:02发布

STM32F030C6 定时器16没有工作起来,求助各位,谢谢!配置如下:
void TIME16_Init()
{
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        /* TIM16 clock enable */
       RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE);

        TIM_DeInit(TIM16);
        /* Time base configuration */
      TIM_TimeBaseStructure.TIM_Period = 1500;
      TIM_TimeBaseStructure.TIM_Prescaler = 480-1;  //48M/480=100000HZ
      TIM_TimeBaseStructure.TIM_ClockDivision = 0;
       TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM16, &TIM_TimeBaseStructure);
       
        NVIC_InitStructure.NVIC_IRQChannel = TIM16_IRQn;
       NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
       NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
       
        TIM_ClearFlag(TIM16, TIM_IT_Update);
       TIM_ITConfig(TIM16, TIM_IT_Update, ENABLE);

        //TIM_ARRPreloadConfig(TIM16, ENABLE);
      /* TIM16 enable counter */
      TIM_Cmd(TIM16, ENABLE);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
憨厚诚实大叔
1楼-- · 2019-08-24 04:52
你先硬件调试,确认定时器工作了没,看CNT计数器的值产生变化没
wudankp
2楼-- · 2019-08-24 09:23
憨厚诚实大叔 发表于 2016-9-19 09:51
你先硬件调试,确认定时器工作了没,看CNT计数器的值产生变化没

已调试没有工作起来,读出CNT的计数值一直为0
憨厚诚实大叔
3楼-- · 2019-08-24 11:07
wudankp 发表于 2016-9-19 09:54
已调试没有工作起来,读出CNT的计数值一直为0

我用的STM32F030C8,不过没用过16,17这2个定时器
charlesyuan
4楼-- · 2019-08-24 14:53
RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE);
改为RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM16, ENABLE);
正点原子
5楼-- · 2019-08-24 19:42
 精彩回答 2  元偷偷看……
黄工209
6楼-- · 2019-08-24 22:24
我也遇到这个情况,TIM14是可以用的 TIM17用不了,调试发现,连寄存器都没法配置

一周热门 更多>