打印
[STM32L1]

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

[复制链接]
807|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

粉丝