STM32f4学习笔记

先添加头文件,引入定时器相关库函数stm32f4xx_tim.c后编译(否则无法查看函数的定义);

1.     time.c文件

编写.h头文件中的初始化函数:

(1) 定义结构体指针类型,定义变量

(2) 使能定时器时钟函数APB1: RCC_APB1PeriphClockCmd();

(3) 初始化定时器,确定使用哪个定时器,取结构体变量地址赋给入口参数:TIM_TimeBaseInit();

(4) 对变量的参数逐一进行初始化:

    自动重装载值ARR:TIM_Period

    预分频系数PSC:TIM_Prescaler

    计数模式CounterMode

   Clockdivision(设置定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例(与输入捕获相关),0表示滤波器的频率和定时器的频率是一样的。)

(5) 开启中断(TIM_IT_Config)并使能:TIM_ITConfig(TIM3,TIM_IT_xxx,ENABLE);

(6) 使能中断优先级NVIC_Init并使能中断通道

      使用定时器几:NVIC_IRQChannel=

      抢占优先级:NVIC_IRQChannelPreemptionPriority

      子优先级:NVIC_IRQChannelSubPriority

(7) 使能定时器TIM_Cmd(TIMx,ENABLE)

编写中断服务函数 void TIMx_IRQHandler(void){ }

(1) 判断是什么中断if(TIM_GetITStatus(TIMx, 确定中断标志位))

2.time.h文件

  定义TIMx参数,配置入口参数(寄存器位数,自动重载值arr和预分频系数psc)即选择定时器

3.main.c文件

 (1) 设置中断优先级分组:NVIC_PriorityGroupConfig();

 (2) 初始化LED端口、延时函数

 (3) 设置定时器分频系数和重装载值: TIM3_Init();

 (4) 编写映射中断发生的函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值