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
TIM_ExtTRGPolarity
TIM_ExtTRGPolarityÉèÖÃTIMxÍⲿ´¥·¢¼«ÐÔ¡£
TIM_ExtTRGPolarity_Inverted£ºTIMÍⲿ´¥·¢¼«ÐԷת£ºµÍµçƽ»òϽµÑØÓÐЧ
TIM_ExtTRGPolarity_NonInverted£ºTIMÍⲿ´¥·¢¼«ÐԷǷת£º¸ßµçƽ»òÉÏÉýÑØÓÐЧ
16 º¯ÊýTIM_ETRClockMode2Config
¹¦ÄÜÃèÊö£ºÅäÖÃTIMxÍⲿʱÖÓģʽ2 Àý£º
TIM_ExternalCLK2Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);
17 º¯ÊýTIM_ETRConfig
¹¦ÄÜÃèÊö£ºÅäÖÃTIMxÍⲿ´¥·¢ Àý£º
TIM_ExternalCLK2Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);
18 º¯ÊýTIM_SelectInputTrigger
¹¦ÄÜÃèÊö£ºÑ¡ÔñTIMxÊäÈë´¥·¢Ô´ Àý£º
void TIM_SelectInputTrigger(TIM2, TIM_TS_ITR3);
TIM_InputTriggerSource
TIM_InputTriggerSourceÑ¡ÔñTIMxÊäÈë´¥·¢Ô´¡£ TIM_TS_ITR0£ºTIMÄÚ²¿´¥·¢0 TIM_TS_ITR1£ºTIMÄÚ²¿´¥·¢1 TIM_TS_ITR2£ºTIMÄÚ²¿´¥·¢2 TIM_TS_ITR3£ºTIMÄÚ²¿´¥·¢3
TIM_TS_TI1F_ED£ºTIM TL1 ±ßÑØÌ½²âÆ÷ TIM_TS_TI1FP1£ºTIM¾Â˲¨¶¨Ê±Æ÷ÊäÈë1 TIM_TS_TI2FP2£ºTIM¾Â˲¨¶¨Ê±Æ÷ÊäÈë2 TIM_TS_ETRF£ºTIMÍⲿ´¥·¢ÊäÈë
19 º¯ÊýTIM_PrescalerConfig
¹¦ÄÜÃèÊö£ºÉèÖÃTIMxÔ¤·ÖƵ Àý£º
u16 TIMPrescaler = 0xFF00;
TIM_PrescalerConfig(TIM2, TIMPrescaler, TIM_PSCReloadMode_Immediate);
TIM_PSCReloadMode
TIM_PSCReloadModeÑ¡ÔñÔ¤·ÖÆµÖØÔØÄ£Ê½¡£
TIM_PSCReloadMode_Update£ºTIMÔ¤·ÖƵֵÔÚ¸üÐÂʼþ×°Èë TIM_PSCReloadMode_Immediate£ºTIMÔ¤·ÖƵֵ¼´Ê±×°Èë
20 º¯ÊýTIM_CounterModeConfig
¹¦ÄÜÃèÊö£ºÉèÖÃTIMx¼ÆÊýÆ÷ģʽ Àý£º
TIM_CounterModeConfig(TIM2, TIM_Counter_CenterAligned1);
16