STM32F10x - TIM - 图文

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload));

tmpccmr1 = TIMx->CCMR1;

/* Reset the OC2PE Bit */

tmpccmr1 &= CCMR_OC24PE_Reset;//bit11,0xF7FF

/* Enable or Disable the Output Compare Preload feature */

tmpccmr1 |= (u16)(TIM_OCPreload << 8);//CCMR1_OC2PE 比 CCMR1_OC1PE高8位

/* Write to TIMx CCMR1 register */ TIMx->CCMR1 = tmpccmr1; }

19.2.29 函数TIM_OC3PreloadConfig

Table 512. 函数TIM_OC3PreloadConfig 函数名 TIM_OC3PreloadConfig 函数原形 void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload) 功能描述 使能或失能 TIMx在CCR3上的预装载寄存器 输入参数1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数2 TIM_OCPreload:输出比较预装载状态 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCPreload:输出比较 预载状态【同TIM_OC1PreloadConfig】 参数TIM_OCPreload值 描述/CCMR1.OCyPE/bit3 #define值 TIM_OCPreload_Enable TIMx在CCR1上的预装载寄存器使能 0x0008 TIM_OCPreload_Disable TIMx在CCR1上的预装载寄存器失能 0x0000 例:

/* Enables the TIM2 Preload on CC3 Register */ TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); 函数原型如下:

void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload) {

u16 tmpccmr2 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload));

tmpccmr2 = TIMx->CCMR2;

/* Reset the OC3PE Bit */

tmpccmr2 &= CCMR_OC13PE_Reset;//0xFFF7,CCMR2

/* Enable or Disable the Output Compare Preload feature */ tmpccmr2 |= TIM_OCPreload;

/* Write to TIMx CCMR2 register */ TIMx->CCMR2 = tmpccmr2; }

19.2.30 函数TIM_OC4PreloadConfig

Table 513. 函数TIM_OC4PreloadConfig 函数名 TIM_OC4PreloadConfig 函数原形 void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload) 功能描述 使能或者失能TIMx在CCR4上的预装载寄存器 输入参数1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 TIM_OCPreload:输出比较预装载状态 输入参数2 参阅Section:TIM_OCPreload查阅更多该参数允许取值范围 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCPreload:输出比较 预载状态【同TIM_OC1PreloadConfig】 参数TIM_OCPreload值 描述/CCMR1.OCyPE/bit3 TIM_OCPreload_Enable TIMx在CCR1上的预装载寄存器使能 TIM_OCPreload_Disable TIMx在CCR1上的预装载寄存器失能 例:

/* Enables the TIM2 Preload on CC4 Register */ TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); 函数原型如下:

void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload) {

u16 tmpccmr2 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload));

tmpccmr2 = TIMx->CCMR2;

/* Reset the OC4PE Bit */

tmpccmr2 &= CCMR_OC24PE_Reset;//CCMR2,0xF7FF

/* Enable or Disable the Output Compare Preload feature */

tmpccmr2 |= (u16)(TIM_OCPreload << 8); //CCMR_OC4PE比 CCMR_OC3PE高8位

/* Write to TIMx CCMR2 register */ TIMx->CCMR2 = tmpccmr2; }

#define值 0x0008 0x0000 19.2.31 函数TIM_OC1FastConfig

Table 514. 函数TIM_OC1FastConfig 函数名 TIM_OC1FastConfig 函数原形 void TIM_OC1FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) 功能描述 设置TIMx捕获比较1快速特征 输入参数 1 TIMx:x 可以是1,2,3,4,5,8,来选择TIM外设 输入参数 2 TIM_OCFast:输出比较快速特征状态 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCFast :输出比较快速特征性能可以使能或者失能。 TIM_OCFast 描述 #define值 TIM_OCFast_Enable TIMx输出比较快速特征性能使能 0x0004 TIM_OCFast_Disable TIMx输出比较快速特征性能失能 0x0000 例:

/* Use the TIM2 OC1 in fast Mode */

TIM_OC1FastConfig(TIM2, TIM_OCFast_Enable); 函数原型如下:

void TIM_OC1FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) {

u16 tmpccmr1 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast));

/* Get the TIMx CCMR1 register value */ tmpccmr1 = TIMx->CCMR1;

/* Reset the OC1FE Bit */

tmpccmr1 &= CCMR_OC13FE_Reset;//0xFFFB,CCMR1.bit2// =1时,OCFE只在通道被配置成PWM1或PWM2模式时起作用

/* Enable or Disable the Output Compare Fast Bit */

tmpccmr1 |= TIM_OCFast;

/* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmr1; }

19.2.32 函数TIM_OC2FastConfig

Table 516. 函数TIM_OC2FastConfig 函数名 TIM_OC2FastConfig 函数原形 void TIM_OC2FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) 功能描述 设置TIMx捕获比较2快速特征 输入参数 1 TIMx:x 可以是1,2,3,4,5,8,来选择TIM外设 输入参数 2 TIM_OCFast:输出比较快速特征状态 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCFast :输出比较快速特征性能可以使能或者失能。【同TIM_OC1FastConfig】 TIM_OCFast 描述/CCMR1.OC1FE/bit2 #define值 TIM_OCFast_Enable TIMx输出比较快速特征性能使能 0x0004 TIM_OCFast_Disable TIMx输出比较快速特征性能失能 0x0000 例:

/* Use the TIM2 OC2 in fast Mode */

TIM_OC2FastConfig(TIM2, TIM_OCFast_Enable); 函数原型如下:

void TIM_OC2FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) {

u16 tmpccmr1 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast));

/* Get the TIMx CCMR1 register value */ tmpccmr1 = TIMx->CCMR1;

/* Reset the OC2FE Bit */

tmpccmr1 &= CCMR_OC24FE_Reset;//CCMR1.bit10//0xFBFF// =1时,OCFE只在通道被配置成PWM1或PWM2模式时起作用

/* Enable or Disable the Output Compare Fast Bit */

tmpccmr1 |= (u16)(TIM_OCFast << 8);// CCMR1.OC2FE比CCMR1.OC1FE高8位

/* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmr1; }

19.2.33 函数TIM_OC3FastConfig

Table 517. 函数TIM_OC3FastConfig 函数名 TIM_OC3FastConfig 函数原形 void TIM_OC3FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) 功能描述 设置TIMx捕获比较3快速特征 输入参数 1 TIMx:x 可以是1,2,3,4,5,8,来选择TIM外设 输入参数 2 TIM_OCFast:输出比较快速特征状态 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCFast :输出比较快速特征性能可以使能或者失能。【同TIM_OC1FastConfig】 TIM_OCFast 描述/CCMR1.OC1FE/bit2 #define值 TIM_OCFast_Enable TIMx输出比较快速特征性能使能 0x0004 TIM_OCFast_Disable TIMx输出比较快速特征性能失能 0x0000 例:

/* Use the TIM2 OC3 in fast Mode */

TIM_OC3FastConfig(TIM2, TIM_OCFast_Enable); 函数原型如下:

void TIM_OC3FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) {

u16 tmpccmr2 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast));

/* Get the TIMx CCMR2 register value */ tmpccmr2 = TIMx->CCMR2;

/* Reset the OC3FE Bit */

tmpccmr2 &= CCMR_OC13FE_Reset;//0xFFFB,CCMR2.bit2 // =1时,OCFE只在通道被配置成PWM1或PWM2模式时起作用

/* Enable or Disable the Output Compare Fast Bit */ tmpccmr2 |= TIM_OCFast;

/* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmr2; }

19.2.34 函数TIM_OC4FastConfig

Table 518. 函数 TIM_OC4FastConfig 函数名 TIM_OC4FastConfig 函数原形 void TIM_OC4FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) 功能描述 设置TIMx捕获比较4快速特征 输入参数 1 TIMx:x 可以是1,2,3,4,5,8,来选择TIM外设 输入参数 2 TIM_OCFast:输出比较快速特征状态 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_OCFast :输出比较快速特征性能可以使能或者失能。【同TIM_OC1FastConfig】 TIM_OCFast 描述/CCMR1.OC1FE/bit2 #define值 TIM_OCFast_Enable TIMx输出比较快速特征性能使能 0x0004 TIM_OCFast_Disable TIMx输出比较快速特征性能失能 0x0000 例:

/* Use the TIM2 OC4 in fast Mode */

TIM_OC4FastConfig(TIM2, TIM_OCFast_Enable); 函数原型如下:

void TIM_OC4FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast) {

u16 tmpccmr2 = 0;

/* Check the parameters */

assert_param(IS_TIM_123458_PERIPH(TIMx));

assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast));

/* Get the TIMx CCMR2 register value */ tmpccmr2 = TIMx->CCMR2;

/* Reset the OC4FE Bit */

tmpccmr2 &= CCMR_OC24FE_Reset;//0xFBFF,CCMR2.bit10// =1时,OCFE只在通道被配置成PWM1或PWM2模式时起作用

/* Enable or Disable the Output Compare Fast Bit */

tmpccmr2 |= (u16)(TIM_OCFast << 8); // CCMR1.OC2FE比CCMR1.OC1FE高8位

/* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmr2; }

19.2.35 函数TIM_ClearOC1Ref

Table 519. 函数 TIM_ClearOC1Ref 函数名 TIM_ClearOC1Ref

联系客服:779662525#qq.com(#替换为@)