通道3<<8、2<<4CC.TIM_Pulse:
捕获比较频率设置,范围0x0000~0xFFFFDD.TIM_OCPolarity:
输出比较极性选择(寄存器位TIMx_CCER_CC1P)
32)TIM_OCPolarity_High:
输出极性高电平有效TIMx_CCER=0x000033)TIM_OCPolarity_Low:
输出极性低电平有效TIMx_CCER=0x0002EE.TIM_OCNPolarity:
互补通道输出极性选择(寄存器位TIMx_CCER_CC1NP)34)TIM_OCNPolarity_High:
输出极性高电平有效TIMx_CCER=0x000035)TIM_OCNPolarity_Low:
输出极性低电平有效_TIMx_CCER=0x0008FF.TIM_OCIdleState:
TIMx的IDLE状态(寄存器位TIMx_CR2_0ISx)36)TIM_OCIdleState_Set:
IDLE状态置位TIMx_CCER=0x010037)TIM_OCIdleState_Reset:
IDLE状态复位TIMx_CCER=0x0000GG.TIM_OCNIdleState:
TIMx的IDLE状态(寄存器位TIMx_CR2_OISxN)38)TIM_OCNIdleState_Set:
互补通道IDLE状态置位TIMx_CR2=0x020039)TIM_OCNIdleState_Reset:
互补通道IDLE状态复位TIMx_CR2=0x0000HH.【说明:
】设置IDLE状态位是刹车寄存器MOE位置0时,是PWM输出极性失效4.结构体TIM_ICInitTypeDef内容:
(定时器的输入捕获功能)40)
定义方式:
a.TIM_ICInitTypeDef*TIM_ICInitStructure或b.TIM_ICInitTypeDefTIM_ICInitStructure41)函数调用:
a.TIM_ICInit(TIM1,TIM_ICInitStructure)或b.TIM_ICInit(TIM1,&TIM_ICInitStructure)a对应a;b对应b42)配置内容:
TIM_Channel、TIM_ICSelection、TIM_ICPrescaler、TIM_ICFilter
II.TIM_Channel:
43)TIM_Channel_1:
TIMx通道144)TIM_Channel_2:
TIMx通道245)TIM_Channel_3:
TIMx通道346)TIM_Channel_4:
TIMx通道4JJ.TIM_ICPolarity:
(TIM1、TIM2、TIM3、TIM4、TIM5、TIM8)47)TIM_ICPolarity_Rising:
上升沿捕获48)TIM_ICPolarity_Falling:
下降沿捕获KK.TIM_ICPolarity_LITE:
(寄存器TIMx_CCER)49)TIM_ICPolarity_Rising:
上升沿捕获TIMx_CCER=0x000050)TIM_ICPolarity_Falling:
下降沿捕获TIMx_CCER=0x000251)TIM_ICPolarity_BothEdge:
双边捕获TIMx_CCER=0x000ALL.TIM_ICSelection:
(寄存器TIMx_CCMRx)52)TIM_ICSelection_DirectTI:
直接映射:
通道1—TI1、2—TI2、3—TI3、4—TI4TIMx_CCMR1=0x000153)TIM_ICSelection_IndirectTI:
间接映射:
通道1—TI2、2—TI1、3—TI4、4—TI3TIMx_CCMR1=0x000254)TIM_ICSelection_TRC:
映射到TRC:
通道1、2、3、4映射到TRCTIMx_CCMR1=0x0003MM.TIM_ICPrescaler:
(寄存器位TIMx_CCMRx_ICxPSC)55)TIM_ICPSC_DIV1:
无分频器,每一个边沿都出发一次捕获TIMx_CCMR1=0x000056)TIM_ICPSC_DIV2:
每2个事件触发一次捕获TIMx_CCMR1=0x000457)TIM_ICPSC_DIV4:
每4个事件触发一次捕获TIMx_CCMR1=0x000858)TIM_ICPSC_DIV8:
每8个事件触发一次捕获TIMx_CCMR1=0x000C
NN.TIM_ICFilter:
(寄存器位TIMx_CCMRx_ICxF)59)(ICFILTER)<=0xF:
输入捕获滤波器5.结构体TIM_BDTRInitTypeDef内容:
60)
定义方式:
a.TIM_BDTRInitTypeDef*TIM_BDTRInitStructure或b.TIM_BDTRInitTypeDefTIM_BDTRInitStructure61)函数调用:
a.TIM_BDTRConfig(TIM1,TIM_BDTRInitStruct)或b.TIM_BDTRConfig(TIM1,&TIM_BDTRInitStruct)a对应a;b对应b62)配置内容:
TIM_OSSRState、TIM_OSSIState、TIM_LOCKLevel、TIM_Break、TIM_BreakPolarityTIM_AutomaticOutputOO.TIM_OSSRState:
(寄存器TIMx_BDTR_OSSR)63)TIM_OSSRState_Enable:
((uint16_t)0x0800)64)TIM_OSSRState_Disable:
((uint16_t)0x0000)PP.TIM_OSSIState:
(寄存器TIMx_BDTR_OSSI)65)TIM_OSSIState_Enable:
((uint16_t)0x0400)66)TIM_OSSIState_Disable:
((uint16_t)0x0000)QQ.TIM_LOCKLevel:
(寄存器TIMx_BDTR_LOOK)67)TIM_LOCKLevel_3:
((uint16_t)0x0300):
锁定级别368)TIM_LOCKLevel_2:
((uint16_t)0x0200):
锁定级别269)TIM_LOCKLevel_1:
((uint16_t)0x0100):
锁定级别1:
70)TIM_LOCKLevel_OFF:
((uint16_t)0x0000):
锁定关闭
RR.TIM_DeadTime:
(寄存器TIMx_BDTR_DTG)71)DTG[7:
5]=0xx=>DT=DTG[7:
0]×Tdtg,Tdtg=TDTS;72)DTG[7:
5]=10x=>DT=(64+DTG[5:
0])×Tdtg,Tdtg=2×TDTS;73)DTG[7:
5]=110=>DT=(32+DTG[4:
0])×Tdtg,Tdtg=8×TDTS;74)DTG[7:
5]=111=>DT=(32+DTG[4:
0])×Tdtg,Tdtg=16×TDTS;SS.TIM_Break:
(寄存器TIMx_BDTR_BKE)75)TIM_Break_Enable:
((uint16_t)0x1000)刹车功能使能76)TIM_Break_Disable:
((uint16_t)0x0000)刹车功能禁止TT.TIM_BreakPolarity:
(寄存器TIMx_BDTR_BKP)77)TIM_BreakPolarity_Low:
((uint16_t)0x0000):
刹车输入低电平有效78)TIM_BreakPolarity_High:
((uint16_t)0x2000):
刹车输入高电平有效UU.TIM_AutomaticOutput:
(寄存器TIMx_BDTR_AOE)79)TIM_AutomaticOutput_Enable:
((uint16_t)0x4000):
MOE能被软件置1或者下一个更新时间自动置180)TIM_AutomaticOutput_Disable:
((uint16_t)0x0000):
MOE只能被软件置16.定时器TIMx中断TIM_ITVV.TIM_ITConfig(TIM_TypeDef*TIMx,uint16_tTIM_IT,FunctionalStateNewState)81)TIM_IT_Update:
((uint16_t)0x0001)更新中断82)TIM_IT_CC1:
((uint16_t)0x0002)捕获比较1中断
83)TIM_IT_CC2:
((uint16_t)0x0004)捕获比较2中断84)TIM_IT_CC3:
((uint16_t)0x0008)捕获比较3中断85)TIM_IT_CC4:
((uint16_t)0x0010)捕获比较4中断86)TIM_IT_COM:
((uint16_t)0x0020)COM中断87)TIM_IT_Trigger:
((uint16_t)0x0040)触发中断88)TIM_IT_Break:
((uint16_t)0x0080)刹车中断中断WW.中断判断:
IS_TIM_IT(IT)((((IT)&(uint16_t)0xFF00)==0x0000)&&((IT)!
=0x0000))7.定时器TIMx事件发生控制(TIM_EGR)XX.TIM_GenerateEvent(TIM_TypeDef*TIMx,uint16_tTIM_EventSource)89)TIM_EventSource_Update:
((uint16_t)0x0001)更新时间90)TIM_EventSource_CC1:
((uint16_t)0x0002)捕获比较1事件91)TIM_EventSource_CC2:
((uint16_t)0x0004)捕获比较2事件92)TIM_EventSource_CC3:
((uint16_t)0x0008)捕获比较3事件93)TIM_EventSource_CC4:
((uint16_t)0x0010)捕获比较4事件94)TIM_EventSource_COM:
((uint16_t)0x0020)捕获比较事件产生控制更新95)TIM_EventSource_Trigger:
((uint16_t)0x0040)产生出发事件96)TIM_EventSource_Break:
((uint16_t)0x0080)产生刹车事件97)事件判断:
IS_TIM_EVENT_SOURCE(SOURCE)((((SOURCE)&(uint16_t)0xFF00)==0x0000)&&((SOURCE)!
=0x0000))
YY.TIM_DMABase内容:
(寄存器TIMx_DCR_DBA)DBA定义为从TIMx_CR1寄存器所在地址开始的偏移量98)#defineTIM_DMABase_CR1((uint16_t)0x0000)99)#defineTIM_DMABase_CR2((uint16_t)0x0001)100)#defineTIM_DMABase_SMCR((uint16_t)0x0002)101)#defineTIM_DMABase_DIER((uint16_t)0x0003)102)#defineTIM_DMABase_SR((uint16_t)0x0004)103)#defineTIM_DMABase_EGR((uint16_t)0x0005)104)#defineTIM_DMABase_CCMR1((uint16_t)0x0006)105)#defineTIM_DMABase_CCMR2((uint16_t)0x0007)106)#defineTIM_DMABase_CCER((uint16_t)0x0008)107)#defineTIM_DMABase_CNT((uint16_t)0x0009)108)#defineTIM_DMABase_PSC((uint16_t)0x000A)109)#defineTIM_DMABase_ARR((uint16_t)0x000B)110)#defineTIM_DMABase_RCR((uint16_t)0x000C)
111)#defineTIM_DMABase_CCR1((uint16_t)0x000D)112)#defineTIM_DMABase_CCR2((uint16_t)0x000E)113)#defineTIM_DMABase_CCR3((uint16_t)0x000F)114)#defineTIM_DMABase_CCR4((uint16_t)0x0010)115)#defineTIM_DMABase_BDTR((uint16_t)0x0011)116)#defineTIM_DMABase_DCR((uint16_t)0x0012