STM32¿âº¯Êý¹¦ÄÜÏê½â ÏÂÔØ±¾ÎÄ

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