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


相关文章
|
3月前
STM32中断与事件的理解
STM32中断与事件的理解
46 0
|
4月前
STM32外中断
STM32外中断
34 0
|
4月前
|
数据格式
【STM32】串口通讯USART串口中断配置
【STM32】串口通讯USART串口中断配置
123 0
|
4月前
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
111 0
|
4月前
【STM32】高级定时器TIM1计数中断配置
【STM32】高级定时器TIM1计数中断配置
237 0
|
8月前
STM32的HAL库开发系列 - TIM定时器中断
STM32的HAL库开发系列 - TIM定时器中断
181 0
|
8月前
|
存储
STM32的HAL库开发系列 - ADC中断
STM32的HAL库开发系列 - ADC中断
175 0
|
8月前
|
编译器
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
369 0
|
10月前
|
传感器
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
157 0
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
|
10月前
|
开发工具 git
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
348 0
STM32:定时器定时中断软件篇(内含:1.实验现象+2.代码编写思路+3.代码部分+4.定时器常用库函数详解)
推荐文章
更多