关于定时器的分频问题 求助

2019-03-23 20:21发布

我想让定时器tim2实现1s一次中断 但是不知道为什么代码下载到板子上发现非常快 检查了时钟tim2的时钟频率是72M 那么预分频系数设定为36000  重装载为2000 但是不管用
代码如下:

#include "stm32f10x.h"
void ttttt(void);
void GPIO_Configuration(void);
void delay(u32 t);
        int i=0;
int main()
{

   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD,ENABLE);//GPIO时钟开启,A0控制B1按键,PD控制锁存器,PC控制数码管
   GPIO_Configuration();
   RCC->APB1ENR=(RCC->APB1ENR&0xfffffffe)|0x1;
   GPIOC->BSRR=0xff00;//关闭所有led
   GPIO_SetBits(GPIOD,GPIO_Pin_2);
   GPIO_ResetBits(GPIOD,GPIO_Pin_2);
   

   NVIC->ISER[0]=0x10000000;
   TIM2->DIER=0x41;//使能timer中断
   TIM2->PSC=0x8ca0;//36000分频
   TIM2->ARR=0x7d0;//到2000
   TIM2->CR1=0x15;
   
   while(1)
   {

     ;
         
        }  

}

void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;                //定义一个结构体名称为GPIO_InitStructure
  //LED
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11         
                                |GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  GPIO_Init(GPIOC, &GPIO_InitStructure);
  //NLE
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}

void delay(u32 t)
{
  for(;t>0;t--);
}

void TIM2_IRQHandler(void)
{
          GPIO_Write(GPIOC,~(1<<(i+8)));
          GPIO_SetBits(GPIOD,GPIO_Pin_2);
          GPIO_ResetBits(GPIOD,GPIO_Pin_2);
         // delay(500000);
          i++ ;
          if(i==8)
          {
                  i=0;
          }
}

Clock Enabled, TIM2CLK: 72.00 MHz 这句话是不是就是说tim2的时钟频率是72mhz啊??
请大家帮忙看看
我后来改成tim3 也不行啊 为什么啊???

[ 本帖最后由 cyhssw12 于 2011-7-29 12:00 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。