STM32F103ZET6【标准库函数开发】------配置定时器参数的几个常用函数

本文详细介绍了STM32微控制器中定时器的各种配置方法,包括基本定时器、通用定时器、高级定时器的初始化,输出PWM信号,输入捕获功能及死区和断路保护设置。通过具体实例展示了如何设置预分频系数、自动重装载值、PWM模式、输入捕获参数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TIM_TimeBaseInitTypeDef               基本初始化
TIM_OCInitTypeDef                          比较输出初始化
TIM_ICInitTypeDef                            输入捕获初始化
TIM_BDTRInitTypeDef                      断路和死区初始化

TIM_TimeBaseInitTypeDef   PS:定时器功能   (基本定时器、通用定时器、高级定时器)
//初始化TIM3,设置arr和psc
	TIM_TimeBaseStructure.TIM_Period = arr; //自动重装载值
	TIM_TimeBaseStructure.TIM_Prescaler =psc; //预分频系数
	TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
	TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //初始化
TIM_OCInitTypeDef        PS:输出PWM       (通用定时器、高级定时器)
//初始化TIM1 Channel2 PWM模式
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //PWM模式2
	TIM_OCInitStructure.TIM_Pulse=40;//占空时间有40的时间为高,互补的输出正好相反 
 	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //正向通道使能
	TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;//反向通道使能         	
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //正向输出极性
	TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;//反向的输出极性                 
	TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset;//正向空闲状态下的非工作状态下           
	TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset;//反向空闲状态下的非工作状态下
TIM_ICInitTypeDef        PS:做输入捕获   (通用定时器、高级定时器)
//初始化TIM5输入捕获参数
	TIM5_ICInitStructure.TIM_Channel = TIM_Channel_1; //输入通道选择,共4个通道
  	TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;	//上升沿捕获
  	TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //输入通道选择,共3个通道
  	TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;	 //输入捕获通道预分频1.2.4.8
  	TIM5_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波
  	TIM_ICInit(TIM5, &TIM5_ICInitStructure);//初始化
TIM_BDTRInitTypeDef    PS:输出互补PWM,所以要死区,断路保护   (高级定时器)
//TIM1死区和短路结构体配置
  TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;//运行模式下关闭状态选择
  TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;//空闲模式下关闭状态选择
  TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1;//锁定配置
  TIM_BDTRInitStructure.TIM_DeadTime = 0x80;//死区时间 0x00~0xff
  TIM_BDTRInitStructure.TIM_Break = TIM_Break_Enable;//短路输入使能控制
  TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_Low;//断路输出极性
  TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;//自动输出使能
  TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);//初始化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值