打印

stm32 定时器问题

[复制链接]
1318|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzl4489|  楼主 | 2011-12-9 07:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用定时器2刷新数码管显示,发现个问题:定时时间最小3.9ms,不能再小了,此时还影响RTC,串口通讯。不知是什么原因
沙发
香水城| | 2011-12-9 07:50 | 只看该作者
与定时器无关,估计是算法问题比较大。

使用特权

评论回复
板凳
zzl4489|  楼主 | 2011-12-9 10:34 | 只看该作者
没有算法呀,只是在定时中断中驱动二极管点亮熄灭

使用特权

评论回复
地板
zzl4489|  楼主 | 2011-12-9 10:38 | 只看该作者
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);
  //RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE);

  TIM_DeInit(TIM2);
  //TIM_DeInit(TIM3);

  TIM_TimeBaseStructure.TIM_Period=50;                                                         /* 自动重装载寄存器周期的值(计数值) */
                                                                                                                                        /* 累计 TIM_Period个频率后产生一个更新或者中断 */
  TIM_TimeBaseStructure.TIM_Prescaler= (1000 - 1);                                    /* 时钟预分频数   例如:时钟频率=72MHZ/(时钟预分频+1) */
  TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;                         /* 采样分频 */
  TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;                 /* 向上计数模式 */
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
  TIM_ClearFlag(TIM2, TIM_FLAG_Update);                                                            /* 清除溢出中断标志 */
  TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
  TIM_Cmd(TIM2, ENABLE);                                                                                        /* 开启时钟 */

void TIM2_IRQHandler(void)
{
    static uint8_t Display;
        if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET )
        {
           TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update);
          
         
                 seven_led(12);
                 if  (runflag!=0)
                  keydown=keydown+1;
                 if (keydown>700)         //16s
                     {runflag=0;          
                            }
               
    }       
}

使用特权

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

本版积分规则

0

主题

3

帖子

1

粉丝