STM32:定时器定时中断

简介: STM32:定时器定时中断

1.主函数(main.c)代码部分:


4e5650d2c3e04766a6c53aa296f755c4.png

483bcd09c0854d458782fa330ac829f2.png

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "CountSensor.h"
uint8_t Num;
int main(void)
{
    OLED_Init();    
    OLED_ShowString(1,1,"Num:");
    Timer_Init();
    while(1)
    {
        OLED_ShowNum(2,1,Num,4);
    }
}
void TIM2_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET)
    {
        Num++;
        TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
    }
}

2.Timer.c(定时中断) 代码部分:

871c9fbc703f4750b041e27583a24444.png

c1f92d5da4df489898e5ef5d0470d400.png

#include "stm32f10x.h"                  // Device header
void Timer_Init(void)
{
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
    TIM_InternalClockConfig(TIM2);
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
    TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
    TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
    TIM_TimeBaseInitStruct.TIM_Period=10000-1;
    TIM_TimeBaseInitStruct.TIM_Prescaler=7200-1;
    TIM_TimeBaseInitStruct.TIM_RepetitionCounter=0;
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);
    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
    NVIC_InitTypeDef NVIC_InitStruct;
    NVIC_InitStruct.NVIC_IRQChannel=TIM2_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
    NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
    NVIC_Init(&NVIC_InitStruct);
    TIM_Cmd(TIM2,ENABLE);
}

3.Timer.h代码部分:

c0e5a7baec694bd8b75f1ca40c56e260.png


#ifndef  __TIMER_H
#define  __TIMER_H
void Timer_Init(void);
#endif


相关文章
|
6月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
472 2
|
5月前
|
传感器
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
491 0
|
5月前
|
芯片
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
299 0
|
6月前
|
芯片
【STM32】STM32简述定时器
【STM32】STM32简述定时器
|
5月前
STM32CubeMX 定时器
STM32CubeMX 定时器
187 0
|
5月前
stm32f407探索者开发板(二十三)——定时器中断实验
stm32f407探索者开发板(二十三)——定时器中断实验
510 0
|
6月前
|
芯片
【STM32】STM32简述中断的基础知识
【STM32】STM32简述中断的基础知识
|
7月前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
7月前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结