stm32 预装值

来源:互联网 发布:淘宝店铺中心在哪里找 编辑:程序博客网 时间:2024/06/10 15:58
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2  , ENABLE);
    TIM_TimeBaseStructure.TIM_Prescaler     = 48-1;      // (48MHz)/48 = 1MHz
    TIM_TimeBaseStructure.TIM_Period        = 10000-1;    // Interrupt per 10mS
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseStructure.TIM_CounterMode   = TIM_CounterMode_Up;
    TIM_TimeBaseInit    (TIM2, &TIM_TimeBaseStructure);
    TIM_ARRPreloadConfig(TIM2, ENABLE);
    TIM_ITConfig        (TIM2, TIM_IT_Update, ENABLE);

    TIM_Cmd             (TIM2, ENABLE);



    TIM_TimeBaseStructure.TIM_Prescaler     = 48-1;      // (48MHz)/48 = 1MHz
    TIM_TimeBaseStructure.TIM_Period        = 10000-1;    // Interrupt per 10mS

    stm32时钟频率48M过来,48分频,就是1MHz

     1秒钟1百万次(1M),一次时间为1/1000000秒

     TIM_Period预装值等于10K,原来计时器技术到1就中断,现在计数到10000才中断

      所以,新一次时间为10000/1000000 = 10ms

0 0