[STM32L1] STM32L151RDT6定时1s实际是2s是哪里配置有问题?

[复制链接]
973|2
 楼主| 者结终 发表于 2018-9-3 12:26 | 显示全部楼层 |阅读模式
TIM_Configturation(10000, 3200);//定时1s,正常这个是1s定时,但是实际上是正好2s。
//外接8MHz晶振,系统时钟是32MHz
void TIM_Configturation(u16 period, u16 prescaler)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
        TIM_TimeBaseStructure.TIM_Period = period-1;
        TIM_TimeBaseStructure.TIM_Prescaler = prescaler-1;
        TIM_TimeBaseStructure.TIM_ClockDivision = 0;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
        /* TIM IT enable */
        TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

        /* TIM2 enable counter */
        TIM_Cmd(TIM2, ENABLE);

        /* Enable the TIM2 Interrupt */
        NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
}

mmuuss586 发表于 2018-9-5 10:06 | 显示全部楼层
用获取时钟函数,把时钟读出来看看,实际时钟是多少;

 楼主| 者结终 发表于 2018-9-5 15:31 | 显示全部楼层
mmuuss586 发表于 2018-9-5 10:06
用获取时钟函数,把时钟读出来看看,实际时钟是多少;

谢谢,知道了,是1s。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部