STM32————T3定时器控制LED灯闪烁

Main ()
{
#include “stm32f10x.h”
#define LED_ON GPIO_ResetBits(GPIOC,GPIO_Pin_8)
#define LED_OFF GPIO_SetBits(GPIOC,GPIO_Pin_8)
Void TIM3_Configuart(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period =10-1; //设置重装载寄存器的周期
TIM_TimeBaseStructure.TIM_Prescaler =(7200-1) //设置时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上的计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //TIM3的初始化
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //TIM3更新中断使能
TIM_Cmd(TIM3, ENABLE); //使能TIM3
}
Void IO_Configuart(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能其所在时钟
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8 //设置引脚
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置速度
GPIO_Init(GPIOC &GPIO_InitStructure);

}
Void Rcc_ Configuart(void)
{
RCC_ClockSecuritySystemCmd(ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //设置TIM3时钟使能
}
Void NVIC_ Configuart(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
//设定中断向量表基址0x8000000
NVIC_SetVectorTable(NVIC_VectTab_FLASH.0X0);
//先占优先级0位,从优先级4位
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从占优先3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); }//初始化NVIC寄存器

int main(void)
{
TIM3_Configuart();
IO_Configuart();
Rcc_ Configuart();
NVIC_ Configuart();
LED_OFF;
While(1)
{

}
Return 0;
}
/stm32f10x_it.c********/
//定时器3中断服务程序
void TIM3_IRQHandler(void) //TIM3中断
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查TIM3更新中断发生与否
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中断标志
I++;
If (I == 1000)
LED_ON;
If (I = 2000)
{
LED_OFF;
I = 0;
}
}
/stm32f10x_it.c********/
/stm32f10x_it.h********/
Extern u16 I;
void TIM3_IRQHandler(void);
/stm32f10x_it.h********/

猜你喜欢

转载自blog.csdn.net/News53231323/article/details/113506573