6-1-1 配置定时器定时中断所需要的所有函数

此处函数共分为三部分:

一、时基单元及后面的所有配置所需要的函数,5个

二、时基单元之前的时钟控制相关函数,6个

三、后期调试使用的函数,7个

一、时基单元及后面的所有配置所需要的函数,5个

1.void TIM_DeInit(TIM_TypeDef* TIMx);

恢复缺省配置

2.void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);

时基单元初始化,用于配置时基单元的。

参数1选择定时器,参数二选择结构体

3.void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);

给结构体变量付一个默认值

4.void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);

使能计数器,对应步骤:运行控制

参数1:TIMx,参数2:NewState,使能或者失能

5.void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);

使能中断输出信号,对应图中“使能中断输出控制”,使能外设的中断输出

参数1:TIMx,参数2:TIM_IT配置,使某个中断输出,参数3:使能或者失能

二、时基单元之前的时钟控制相关函数,6个

1.void TIM_InternalClockConfig(TIM_TypeDef* TIMx);

选择内部时钟

2.void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);

选择ITRx其他定时器的时钟,参数1是选择要配置的定时器,参数2是选择接入哪个其他的定时器

3.void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, 
                                  uint16_t TIM_ICPolarity, uint16_t ICFilter);

选择TIx捕获通道的时钟,参数2选择具体的某个引脚,参数3输入的极性,参数4,滤波器

4.void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler,
                              uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter);

选择ETR通过外部时钟模式1输入的时钟,参数2,外部触发预分频器,对ETR作提前分频,参数3输入的极性,参数4,滤波器

5.void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, 
                             uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter);


选择ETR通过外部时钟模式2输入的时钟,

参数2,外部触发预分频器,对ETR作提前分频,TIM_ExtTRGPSC_OFF, TIM_ExtTRGPSC_DIV2,

TIM_ExtTRGPSC_DIV4,TIM_ExtTRGPSC_DIV8

参数3输入的极性,TIM_ExtTRGPolarity_Inverted,反向,代表低电平或者下降沿有效;TIM_ExtTRGPolarity_NonInverted不反向,代表上升沿与高电平有效

参数4,滤波器,取值范围在0x00 到 0x0F之间

针对通过ETR通路的数据,外部时钟模式1/2的使用方法没有区别

6.void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, 
                     uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter);

单独用来配置ETR引脚的预分频器,极性、滤波器这些参数

三、针对硬件对以上函数进行选择

1、时钟源选择:第二部分全部6个函数

2.时基单元:TIM_TimeBaseInit

3.中断输出控制:TIM_ITConfig

4.NVIC函数控制:NVIC_Init

5.运行控制:TIM_Cmd

四、后期调试使用的函数,7个


1.void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode);

单独写预分频值。参数2:预分频值,参数3:写入的新模式

2.void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode);

用于改变计数器的技术模式。参数2:写入新的计数器模式

3.void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);

自动重装器预装功能配置

4.void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter);

给计数器写入一个值

5.void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload);

给重装器写入一个值

6.uint16_t TIM_GetCounter(TIM_TypeDef* TIMx);

获得当前计数器的值

7.uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx);

获取当前分频器的值

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值