使用STM32F0系列设置定时器的频率为0.1us

2019-07-14 18:40发布

我使用的是STM32F030系列的单片机,主频是48MHz,想设置定时器的频率为0.1us。我是这样设置的
RCC_APB1PeriphClockCmd(RCC_APB1Periph_tiM3, ENABLE);            //使能TIM3时钟  

    nvic_init_structure.NVIC_IRQChannel = TIM3_IRQn;                //选择TIM3中断通道  
    nvic_init_structure.NVIC_IRQChannelCmd = ENABLE;                //使能TIM3中断  
    nvic_init_structure.NVIC_IRQChannelPriority = 0x01;                //优先级为1  
    NVIC_Init(&nvic_init_structure);  

    TIM_DeInit(TIM3);                                               //复位TIM3  
    TIM_TimeBaseStructInit(&timer_init_structure);                  //初始化TIMBASE结构体  

    timer_init_structure.TIM_ClockDivision = TIM_CKD_DIV1;          //系统时钟,不分频,48M  
    timer_init_structure.TIM_CounterMode = TIM_CounterMode_Up;      //向上计数模式  
    timer_init_structure.TIM_Period = 1/10;                         //每0.1 uS触发一次中断
    timer_init_structure.TIM_Prescaler = 48-1;                      //计数时钟预分频,f=1M,systick=1 uS  
    timer_init_structure.TIM_RepetitionCounter = 0x00;              //发生1次update事件产生中断  
    TIM_TimeBaseInit(TIM3, &timer_init_structure);  
       
          
//    TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);           //选择TIM3的update事件更新为触发源  
    TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Enable);           //选择TIM3的update事件更新为触发源
       
    TIM_ClearITPendingBit(TIM3, TIM_IT_Update);     //清除update事件中断标志
    TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);                      //使能TIM3中断                 
          TIM_Cmd(TIM3, ENABLE);  //这三步有一定
但是不能进入中断处理函数,希望大神们指点指点

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。