3 函数TIM_OCInit
功能描述:根据TIM_OCInitStruct中指定的参数初始化外设TIMx 例:
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Channel = TIM_Channel_1; TIM_OCInitStructure.TIM_Pulse = 0x3FFF;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInit(TIM2, & TIM_OCInitStructure);
TIM_OCInitStruct:
指向结构TIM_OCInitTypeDef的指针,包含了TIMx时间基数单位的配置信息
TIM_OCInitTypeDef structure
TIM_OCInitTypeDef定义于文件“stm32f10x_tim.h”:
typedef struct {
u16 TIM_OCMode; u16 TIM_Channel; u16 TIM_Pulse;
u16 TIM_OCPolarity; }
TIM_OCInitTypeDef;
TIM_OCMode
TIM_OCMode选择定时器模式。
TIM_OCMode_Timing:TIM输出比较时间模式 TIM_OCMode_Active:TIM输出比较主动模式 TIM_OCMode_Inactive:TIM输出比较非主动模式 TIM_OCMode_Toggle:TIM输出比较触发模式 TIM_OCMode_PWM1:TIM脉冲宽度调制模式1 TIM_OCMode_PWM2:TIM脉冲宽度调制模式2
TIM_Channel
TIM_Channel选择通道。
TIM_Channel_1:使用TIM通道1 TIM_Channel_2:使用TIM通道2 TIM_Channel_3:使用TIM通道3 TIM_Channel_4:使用TIM通道4
TIM_Pulse
TIM_Pulse设置了待装入捕获比较寄存器的脉冲值。它的取值必须在0x0000和0xFFFF之间。
TIM_OCPolarity
TIM_OCPolarity输出极性。
TIM_OCPolarity_High:TIM输出比较极性高 TIM_OCPolarity_Low:TIM输出比较极性低
4 函数TIM_ICInit
功能描述:根据TIM_ICInitStruct中指定的参数初始化外设TIMx 例:
TIM_DeInit(TIM2);
TIM_ICStructInit(&TIM_ICInitStructure);
11
TIM_ICInitStructure.TIM_ICMode = TIM_ICMode_PWMI; TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0; TIM_ICInit(TIM2, &TIM_ICInitStructure);
TIM_ICInitStruct:指向结构TIM_ICInitTypeDef的指针,包含了TIMx的配置信息
TIM_ICInitTypeDef structure
TIM_ICInitTypeDef定义于文件“stm32f10x_tim.h”:
typedef struct {
u16 TIM_ICMode; u16 TIM_Channel; u16 TIM_ICPolarity; u16 TIM_ICSelection; u16 TIM_ICPrescaler; u16 TIM_ICFilter; }
TIM_ICInitTypeDef;
TIM_ICMode
TIM_ICMode选择了TIM输入捕获模式。 TIM_ICMode_ICAP:TIM使用输入捕获模式 TIM_ICMode_PWMI:TIM使用输入PWM模式
TIM_Channel
TIM_Channel选择通道。
TIM_Channel_1 使用TIM通道1 TIM_Channel_2 使用TIM通道2 TIM_Channel_3 使用TIM通道3 TIM_Channel_4 使用TIM通道4
TIM_ICPolarity
TIM_ICPolarity输入活动沿。
TIM_ICPolarity_Rising:TIM输入捕获上升沿 TIM_ICPolarity_Falling:TIM输入捕获下降沿
TIM_ICSelection
TIM_ICSelection选择输入。
TIM_ICSelection_DirectTI:TIM输入2,3或4选择对应地与IC1或IC2或IC3或IC4相连 TIM_ICSelection_IndirectTI:TIM输入2,3或4选择对应地与IC2或IC1或IC4或IC3相连TIM_ICSelection_TRC:TIM输入2,3或4选择与TRC相连
TIM_ICPrescaler
TIM_ICPrescaler设置输入捕获预分频器。
TIM_ICPSC_DIV1:TIM捕获在捕获输入上每探测到一个边沿执行一次 TIM_ICPSC_DIV2:TIM捕获每2个事件执行一次 TIM_ICPSC_DIV3:TIM捕获每3个事件执行一次 TIM_ICPSC_DIV4:TIM捕获每4个事件执行一次
TIM_ICFilter
TIM_ICFilter选择输入比较滤波器。该参数取值在0x0和0xF之间。
12
5 函数TIM_TimeBaseStructInit
功能描述:把TIM_TimeBaseInitStruct中的每一个参数按缺省值填入
TIM_TimeBaseInitStruct:指向结构TIM_TimeBaseInitTypeDef的指针,待初始化
TIM_TimeBaseInitStruct缺省值
TIM_Period:TIM_Period_Reset_Mask
TIM_Prescaler:TIM_Prescaler_Reset_Mask TIM_CKD:TIM_CKD_DIV1
TIM_CounterMode:TIM_CounterMode_Up
例:
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_TimeBaseStructInit(& TIM_TimeBaseInitStructure);
6 函数TIM_OCStructInit
功能描述:把TIM_OCInitStruct中的每一个参数按缺省值填入
TIM_OCInitStruct:指向结构TIM_OCInitTypeDef的指针,待初始化
例:
TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCStructInit(& TIM_OCInitStructure);
TIM_OCInitStruct缺省值
TIM_OCMode:TIM_OCMode_Timing TIM_Channel:TIM_Channel_1
TIM_Pulse:TIM_Pulse_Reset_Mask TIM_OCPolarity:TIM_OCPolarity_High
7 函数TIM_ICStructInit
功能描述:把TIM_ICInitStruct中的每一个参数按缺省值填入
TIM_ICInitStruct:指向结构TIM_ICInitTypeDef的指针,待初始化
例:
TIM_ICInitTypeDef TIM_ICInitStructure; TIM_ICStructInit(& TIM_ICInitStructure);
TIM_ICInitStruct缺省值
TIM_ICMode:TIM_ICMode_ICAP TIM_Channel:TIM_Channel_1
TIM_ICPolarity:TIM_ICPolarity_Rising TIM_ICSelection:TIM_ICSelection_DirectTI TIM_ICPrescaler:TIM_ICPSC_DIV1 TIM_ICFilter:TIM_ICFilter_Mask
8 函数TIM_Cmd
功能描述:使能或者失能TIMx外设
例:
TIM_Cmd(TIM2, ENABLE);
13
9 函数TIM _ITConfig
功能描述:使能或者失能指定的TIM中断
例:
TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE );
TIM_IT
输入参数TIM_IT使能或者失能TIM的中断 TIM_IT_Update TIM中断源
TIM_IT_CC1:TIM捕获/比较1中断源 TIM_IT_CC2:TIM捕获/比较2中断源 TIM_IT_CC3:TIM捕获/比较3中断源 TIM_IT_CC4:TIM捕获/比较4中断源 TIM_IT_Trigger:TIM触发中断源
10 函数TIM_DMAConfig
功能描述:设置TIMx的DMA接口
例:
TIM_DMAConfig(TIM2, TIM_DMABase_CCR1, TIM_DMABurstLength_1Byte)
TIM_DMABase
TIM_DMABase 设置DMA传输起始地址。
TIM_DMABase_CR1:TIM CR1寄存器作为DMA传输起始 TIM_DMABase_CR2:TIM CR2寄存器作为DMA传输起始 TIM_DMABase_SMCR:TIM SMCR寄存器作为DMA传输起始 TIM_DMABase_DIER:TIM DIER寄存器作为DMA传输起始 TIM_DMABase_SR:TIM SR寄存器作为DMA传输起始 TIM_DMABase_EGR:TIM EGR寄存器作为DMA传输起始
TIM_DMABase_CCMR1:TIM CCMR1寄存器作为DMA传输起始 TIM_DMABase_CCMR2:TIM CCMR2寄存器作为DMA传输起始 TIM_DMABase_CCER:TIM CCER寄存器作为DMA传输起始 TIM_DMABase_CNT:TIM CNT寄存器作为DMA传输起始 TIM_DMABase_PSC:TIM PSC寄存器作为DMA传输起始 TIM_DMABase_ARR:TIM APR寄存器作为DMA传输起始 TIM_DMABase_CCR1:TIM CCR1寄存器作为DMA传输起始 TIM_DMABase_CCR2:TIM CCR2寄存器作为DMA传输起始 TIM_DMABase_CCR3:TIM CCR3寄存器作为DMA传输起始 TIM_DMABase_CCR4:TIM CCR4寄存器作为DMA传输起始 TIM_DMABase_DCR:TIM DCR寄存器作为DMA传输起始
TIM_DMABurstLength
TIM_DMABurstLength设置DMA连续传送长度。
TIM_DMABurstLength_xByte:TIM DMA连续传送长度x字(1--18)
11 函数TIM_DMACmd
功能描述:使能或者失能指定的TIMx的DMA请求 例:
TIM_DMACmd(TIM2, TIM_DMA_CC1, ENABLE);
14
TIM_DMASource
输入参数TIM_DMASource使能或者失能TIM的中断。 TIM_DMA_Update TIM更新DMA源
TIM_DMA_CC1:TIM捕获/比较1DMA源 TIM_DMA_CC2:TIM捕获/比较2DMA源 TIM_DMA_CC3:TIM捕获/比较3DMA源 TIM_DMA_CC4:TIM捕获/比较4DMA源 TIM_DMA_Trigger:TIM触发DMA源
12 函数TIM_InternalClockConfig
功能描述:设置TIMx内部时钟 例:
TIM_InternalClockConfig(TIM2);
13 函数TIM_ITRxExternalClockConfig
功能描述:设置TIMx内部触发为外部时钟模式 例:
TIM_ITRxExternalClockConfig(TIM2, TIM_TS_ITR3);
TIM_InputTriggerSource
TIM_InputTriggerSource选择TIM输入触发。 TIM_TS_ITRx:TIM内部触发x(0--3)
14 函数TIM_TIxExternalClockConfig
功能描述:设置TIMx触发为外部时钟 例:
TIM_TIxExternalClockConfig(TIM2, TIM_TS_TI1FP1, TIM_ICPolarity_Rising, 0);
TIM_TIxExternalCLKSource
TIM_TIxExternalCLKSource选择TIMx外部时钟源。 TIM_TS_TI1FP1:TIM IC1连接到TI1 TIM_TS_TI1FP2:TIM IC2连接到TI2
TIM_TS_TI1F_ED:TIM IC1连接到TI1:使用边沿探测
15 函数TIM_ETRClockMode1Config
功能描述:配置TIMx外部时钟模式1 例:
TIM_ExternalCLK1Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);
TIM_ExtTRGPrescaler
TIM_ExtTRGPrescaler设置TIMx外部触发预分频。 TIM_ExtTRGPSC_OFF:TIM ETRP 预分频 OFF TIM_ExtTRGPSC_DIV2:TIM ETRP频率除以2 TIM_ExtTRGPSC_DIV4:TIM ETRP频率除以4 TIM_ExtTRGPSC_DIV8:TIM ETRP频率除以8
15