- 定时器和中断系统的电路都在STM32内部,故只需在外插一个OLED显示屏即可
- 定时器不涉及外部硬件,所以把模块封装到System文案金夹,并初始化,把【定时中断基本结构】全部打通
- RCC开启时钟,同时定时器的基准时钟和整个外设的工作时钟都会同时打开
- 选择时基单元的时钟源,(定时中断选择内部时钟源)
- 配置时基单元,包括用结构体配置预分频器,自动重装器,计数模式
- 配置输出中断控制,允许更新中断输出到NVIC
- 配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级
- 运行控制
- 使能计数器
- 回到keil进行编写:
查看定时器的库函数都有那些:【Library——>stm32f10x_tim.h——>拖到最后】
void TIM_DeInit(TIM_TypeDef* TIMx);//恢复缺省配置 void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);//时基单元初始化
void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);//把结构体变量赋一个默认值 void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);//使能计数器 void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);//使能中断输出信号
void TIM_InternalClockConfig(TIM_TypeDef* TIMx);//选择内部时钟 void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);//选择ITRx其他定时器时钟 void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, uint16_t TIM_ICPolarity, uint16_t ICFilter);//选择TIx捕获通道的时钟 void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter);//选择ETR通过外部时钟模式1输入的时钟
- 小tips
标签:TypeDef,中断,void,TIM,uint16,定时,TIMx,时钟 From: https://www.cnblogs.com/woyaobiye/p/17323820.html