输出参数 返回值 先决条件 被调用函数 例:
无 无 无 无 /* Sets the TIM2 new Output Compare 2 value */ u16 TIMCompare2 = 0x7FFF;
TIM_SetCompare2(TIM2, TIMCompare2); 函数原型如下:
void TIM_SetCompare2(TIM_TypeDef* TIMx, u16 Compare2) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
/* Set the Capture Compare2 Register value */ TIMx->CCR2 = Compare2; }
19.2.56 函数TIM_SetCompare3
Table 548. 函数TIM_SetCompare3 函数名 TIM_SetCompare3 函数原形 void TIM_SetCompare3(TIM_TypeDef* TIMx, u16 Compare3) 功能描述 设置TIMx捕获比较3寄存器值 输入参数1 TIMx:x可以是1,2,3,4,5,8来选择TIM外设 输入参数2 Compare1:捕获比较3寄存器新值 输出参数 无 返回值 无 先决条件 无 被调用函数 无 例:
/* Sets the TIM2 new Output Compare 3 value */ u16 TIMCompare3 = 0x7FFF;
TIM_SetCompare3(TIM2, TIMCompare3); 函数原型如下:
void TIM_SetCompare3(TIM_TypeDef* TIMx, u16 Compare3) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
/* Set the Capture Compare3 Register value */ TIMx->CCR3 = Compare3; }
19.2.57 函数TIM_SetCompare4
Table 549. 函数TIM_SetCompare4 函数名 TIM_SetCompare4 函数原形 void TIM_SetCompare4(TIM_TypeDef* TIMx, u16 Compare4) 功能描述 设置TIMx捕获比较4寄存器值 输入参数 1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数 2 Compare4:捕获比较4寄存器新值 输出参数 无 返回值 无 先决条件 无 被调用函数 无 例: /* Sets the TIM2 new Output Compare 4 value */ u16 TIMCompare4 = 0x7FFF;
TIM_SetCompare4(TIM2, TIMCompare4); 函数原型如下:
void TIM_SetCompare4(TIM_TypeDef* TIMx, u16 Compare4) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
/* Set the Capture Compare4 Register value */ TIMx->CCR4 = Compare4; }
19.2.58 函数TIM_SetIC1Prescaler
Table 550. 函数 TIM_SetIC1Prescaler 函数名 TIM_SetIC1Prescaler 函数原形 void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, u16 TIM_IC1Prescaler) 功能描述 设置TIMx输入捕获1预分频 输入参数1 TIMx:x可以是1,2,3,4,5,8来选择TIM外设 输入参数2 TIM_IC1Prescaler:输入捕获1预分频 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_IC1Prescaler:输入捕获1预分频 参数TIM_IC1Prescaler取值 描述/CCMR1.IC1PCS[3:2] #define值 TIM_ICPSC_DIV1 无预分频器[边缘触发] ((u16)0x0000) TIM_ICPSC_DIV2 每2个事件触发一次捕获 ((u16)0x0004) TIM_ICPSC_DIV4 每4个事件触发一次捕获 ((u16)0x0008) TIM_ICPSC_DIV8 每8个事件触发一次捕获 ((u16)0x000C)
例:
/* Sets the TIM2 Input Capture 1 Prescaler */ TIM_SetIC1Prescaler(TIM2, TIM_ICPSC_Div2); 函数原型如下:
void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC));
/* Reset the IC1PSC Bits */
TIMx->CCMR1 &= CCMR_IC13PSC_Mask;//0xFFF3
/* Set the IC1PSC value */ TIMx->CCMR1 |= TIM_ICPSC; }
19.2.59 函数TIM_SetIC2Prescaler
Table 551. 函数 TIM_SetIC2Prescaler 函数名 TIM_SetIC2Prescaler 函数原形 void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, u16 TIM_IC2Prescaler) 功能描述 设置TIMx输入捕获2预分频 输入参数 1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数 2 TIM_IC2Prescaler:输入捕获2预分频 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_IC2Prescaler:输入捕获2预分频【采用TIM_IC1Prescaler的值】 参数TIM_IC1Prescaler取值 描述/CCMR1.IC2PCS[3:2] #define值 TIM_ICPSC_DIV1 无预分频器[边缘触发] ((u16)0x0000) TIM_ICPSC_DIV2 每2个事件触发一次捕获 ((u16)0x0004) TIM_ICPSC_DIV4 每4个事件触发一次捕获 ((u16)0x0008) TIM_ICPSC_DIV8 每8个事件触发一次捕获 ((u16)0x000C) 例:
/* Sets the TIM2 Input Capture 2 Prescaler */ TIM_SetIC2Prescaler(TIM2, TIM_ICPSC_Div2); 函数原型如下:
void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC));
/* Reset the IC2PSC Bits */
TIMx->CCMR1 &= CCMR_IC24PSC_Mask; //0xF3FF
/* Set the IC2PSC value */
TIMx->CCMR1 |= (u16)(TIM_ICPSC << 8);//采用IC1PSC[3:2]的值,IC2PSC比IC1PSC的高8位处 }
19.2.60 函数TIM_SetIC3Prescaler
Table 552. 函数TIM_SetIC3Prescaler 函数名 TIM_SetIC3Prescaler 函数原形 void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, u16 TIM_IC3Prescaler) 功能描述 设置TIMx输入捕获3预分频 输入参数1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数2 TIM_IC1Prescaler:输入捕获3预分频 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_IC3Prescaler:输入捕获3预分频【采用TIM_IC1Prescaler的值】 参数TIM_IC1Prescaler取值 描述/CCMR2.IC3PCS[3:2] #define值 TIM_ICPSC_DIV1 无预分频器[边缘触发] ((u16)0x0000) TIM_ICPSC_DIV2 每2个事件触发一次捕获 ((u16)0x0004) TIM_ICPSC_DIV4 每4个事件触发一次捕获 ((u16)0x0008) TIM_ICPSC_DIV8 每8个事件触发一次捕获 ((u16)0x000C)
例:
/* Sets the TIM2 Input Capture 3 Prescaler */ TIM_SetIC3Prescaler(TIM2, TIM_ICPSC_Div2); 函数原型如下:
void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC));
/* Reset the IC3PSC Bits */
TIMx->CCMR2 &= CCMR_IC13PSC_Mask; //0xFFF3
/* Set the IC3PSC value */ TIMx->CCMR2 |= TIM_ICPSC; }
19.2.61 函数TIM_SetIC4Prescaler
Table 553. 函数 TIM_SetIC4Prescaler 函数名 TIM_SetIC4Prescaler 函数原形 void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, u16 TIM_IC4Prescaler) 功能描述 设置TIMx输入捕获4预分频 输入参数 1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数 2 TIM_IC1Prescaler:输入捕获4预分频 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_IC4Prescaler:输入捕获4预分频【采用TIM_IC1Prescaler的值】 参数TIM_IC1Prescaler取值 描述/CCMR2.IC4PCS[3:2] #define值 TIM_ICPSC_DIV1 无预分频器[边缘触发] ((u16)0x0000) TIM_ICPSC_DIV2 每2个事件触发一次捕获 ((u16)0x0004) TIM_ICPSC_DIV4 每4个事件触发一次捕获 ((u16)0x0008) TIM_ICPSC_DIV8 每8个事件触发一次捕获 ((u16)0x000C) 例:
/* Sets the TIM2 Input Capture 4 Prescaler */ TIM_SetIC4Prescaler(TIM2, TIM_ICPSC_Div2); 函数原型如下:
void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, u16 TIM_ICPSC) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx));
assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC));
/* Reset the IC4PSC Bits */
TIMx->CCMR2 &= CCMR_IC24PSC_Mask; //0xF3FF
/* Set the IC4PSC value */
TIMx->CCMR2 |= (u16)(TIM_ICPSC << 8); //CCMR2上,采用IC1PSC[3:2]的值,IC4PSC比IC3PSC的高8位处 }
19.2.62 函数TIM_SetClockDivision
Table 554. 函数TIM_SetClockDivision 函数名 TIM_SetClockDivision 函数原形 void TIM_SetClockDivision(TIM_TypeDef* TIMx, u16 TIM_CKD) 功能描述 设置TIMx的时钟分割值 输入参数1 TIMx:x 可以是1,2,3,4,5,8来选择TIM外设 输入参数2 TIM_CKD:时钟分割值 输出参数 无 返回值 无 先决条件 无 被调用函数 无 TIM_CKD:时钟分割值 参数TIM_CKD取值 描述/CR1.CKD[1:0] #define值 备注 TIM_CKD_DIV1 tDTS=1 x tCK_INT ((u16)0x0000) TIM_CKD_DIV2 tDTS=2 x tCK_INT ((u16)0x0100) bit9-8 TIM_CKD_DIV4 tDTS=4 x tCK_INT ((u16)0x0200) -- -- ((u16)0x0300) 保留 例:
/* Sets the TIM2 CKD value */
TIM_SetClockDivision(TIM2, TIM_CKD_DIV4); 函数原型如下:
void TIM_SetClockDivision(TIM_TypeDef* TIMx, u16 TIM_CKD) {
/* Check the parameters */
assert_param(IS_TIM_123458_PERIPH(TIMx)); assert_param(IS_TIM_CKD_DIV(TIM_CKD));
/* Reset the CKD Bits */
TIMx->CR1 &= CR1_CKD_Mask;//0x00FF //bit15-10位(6bit)保留
/* Set the CKD value */ TIMx->CR1 |= TIM_CKD; }
19.2.63 函数TIM_GetCapture1
Table 555. 函数TIM_GetCapture1 函数名 TIM_GetCapture1 函数原形 u16 TIM_GetCapture1(TIM_TypeDef* TIMx)