20#ifndef STM32H7xx_HAL_TIM_H
21#define STM32H7xx_HAL_TIM_H
287#if defined(TIM_BDTR_BKBID)
288 uint32_t BreakAFMode;
297#if defined(TIM_BDTR_BKBID)
298 uint32_t Break2AFMode;
354#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
355typedef struct __TIM_HandleTypeDef
371#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
372 void (* Base_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
373 void (* Base_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
374 void (* IC_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
375 void (* IC_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
376 void (* OC_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
377 void (* OC_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
378 void (* PWM_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
379 void (* PWM_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
380 void (* OnePulse_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
381 void (* OnePulse_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
382 void (* Encoder_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
383 void (* Encoder_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
384 void (* HallSensor_MspInitCallback)(
struct __TIM_HandleTypeDef *htim);
385 void (* HallSensor_MspDeInitCallback)(
struct __TIM_HandleTypeDef *htim);
386 void (* PeriodElapsedCallback)(
struct __TIM_HandleTypeDef *htim);
387 void (* PeriodElapsedHalfCpltCallback)(
struct __TIM_HandleTypeDef *htim);
388 void (* TriggerCallback)(
struct __TIM_HandleTypeDef *htim);
389 void (* TriggerHalfCpltCallback)(
struct __TIM_HandleTypeDef *htim);
390 void (* IC_CaptureCallback)(
struct __TIM_HandleTypeDef *htim);
391 void (* IC_CaptureHalfCpltCallback)(
struct __TIM_HandleTypeDef *htim);
392 void (* OC_DelayElapsedCallback)(
struct __TIM_HandleTypeDef *htim);
393 void (* PWM_PulseFinishedCallback)(
struct __TIM_HandleTypeDef *htim);
394 void (* PWM_PulseFinishedHalfCpltCallback)(
struct __TIM_HandleTypeDef *htim);
395 void (* ErrorCallback)(
struct __TIM_HandleTypeDef *htim);
396 void (* CommutationCallback)(
struct __TIM_HandleTypeDef *htim);
397 void (* CommutationHalfCpltCallback)(
struct __TIM_HandleTypeDef *htim);
398 void (* BreakCallback)(
struct __TIM_HandleTypeDef *htim);
399 void (* Break2Callback)(
struct __TIM_HandleTypeDef *htim);
403#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
409 HAL_TIM_BASE_MSPINIT_CB_ID = 0x00U
410 , HAL_TIM_BASE_MSPDEINIT_CB_ID = 0x01U
411 , HAL_TIM_IC_MSPINIT_CB_ID = 0x02U
412 , HAL_TIM_IC_MSPDEINIT_CB_ID = 0x03U
413 , HAL_TIM_OC_MSPINIT_CB_ID = 0x04U
414 , HAL_TIM_OC_MSPDEINIT_CB_ID = 0x05U
415 , HAL_TIM_PWM_MSPINIT_CB_ID = 0x06U
416 , HAL_TIM_PWM_MSPDEINIT_CB_ID = 0x07U
417 , HAL_TIM_ONE_PULSE_MSPINIT_CB_ID = 0x08U
418 , HAL_TIM_ONE_PULSE_MSPDEINIT_CB_ID = 0x09U
419 , HAL_TIM_ENCODER_MSPINIT_CB_ID = 0x0AU
420 , HAL_TIM_ENCODER_MSPDEINIT_CB_ID = 0x0BU
421 , HAL_TIM_HALL_SENSOR_MSPINIT_CB_ID = 0x0CU
422 , HAL_TIM_HALL_SENSOR_MSPDEINIT_CB_ID = 0x0DU
423 , HAL_TIM_PERIOD_ELAPSED_CB_ID = 0x0EU
424 , HAL_TIM_PERIOD_ELAPSED_HALF_CB_ID = 0x0FU
425 , HAL_TIM_TRIGGER_CB_ID = 0x10U
426 , HAL_TIM_TRIGGER_HALF_CB_ID = 0x11U
427 , HAL_TIM_IC_CAPTURE_CB_ID = 0x12U
428 , HAL_TIM_IC_CAPTURE_HALF_CB_ID = 0x13U
429 , HAL_TIM_OC_DELAY_ELAPSED_CB_ID = 0x14U
430 , HAL_TIM_PWM_PULSE_FINISHED_CB_ID = 0x15U
431 , HAL_TIM_PWM_PULSE_FINISHED_HALF_CB_ID = 0x16U
432 , HAL_TIM_ERROR_CB_ID = 0x17U
433 , HAL_TIM_COMMUTATION_CB_ID = 0x18U
434 , HAL_TIM_COMMUTATION_HALF_CB_ID = 0x19U
435 , HAL_TIM_BREAK_CB_ID = 0x1AU
436 , HAL_TIM_BREAK2_CB_ID = 0x1BU
437} HAL_TIM_CallbackIDTypeDef;
459#define TIM_CLEARINPUTSOURCE_NONE 0x00000000U
460#define TIM_CLEARINPUTSOURCE_ETR 0x00000001U
468#define TIM_DMABASE_CR1 0x00000000U
469#define TIM_DMABASE_CR2 0x00000001U
470#define TIM_DMABASE_SMCR 0x00000002U
471#define TIM_DMABASE_DIER 0x00000003U
472#define TIM_DMABASE_SR 0x00000004U
473#define TIM_DMABASE_EGR 0x00000005U
474#define TIM_DMABASE_CCMR1 0x00000006U
475#define TIM_DMABASE_CCMR2 0x00000007U
476#define TIM_DMABASE_CCER 0x00000008U
477#define TIM_DMABASE_CNT 0x00000009U
478#define TIM_DMABASE_PSC 0x0000000AU
479#define TIM_DMABASE_ARR 0x0000000BU
480#define TIM_DMABASE_RCR 0x0000000CU
481#define TIM_DMABASE_CCR1 0x0000000DU
482#define TIM_DMABASE_CCR2 0x0000000EU
483#define TIM_DMABASE_CCR3 0x0000000FU
484#define TIM_DMABASE_CCR4 0x00000010U
485#define TIM_DMABASE_BDTR 0x00000011U
486#define TIM_DMABASE_DCR 0x00000012U
487#define TIM_DMABASE_DMAR 0x00000013U
488#define TIM_DMABASE_CCMR3 0x00000015U
489#define TIM_DMABASE_CCR5 0x00000016U
490#define TIM_DMABASE_CCR6 0x00000017U
491#if defined(TIM_BREAK_INPUT_SUPPORT)
492#define TIM_DMABASE_AF1 0x00000018U
493#define TIM_DMABASE_AF2 0x00000019U
495#define TIM_DMABASE_TISEL 0x0000001AU
503#define TIM_EVENTSOURCE_UPDATE TIM_EGR_UG
504#define TIM_EVENTSOURCE_CC1 TIM_EGR_CC1G
505#define TIM_EVENTSOURCE_CC2 TIM_EGR_CC2G
506#define TIM_EVENTSOURCE_CC3 TIM_EGR_CC3G
507#define TIM_EVENTSOURCE_CC4 TIM_EGR_CC4G
508#define TIM_EVENTSOURCE_COM TIM_EGR_COMG
509#define TIM_EVENTSOURCE_TRIGGER TIM_EGR_TG
510#define TIM_EVENTSOURCE_BREAK TIM_EGR_BG
511#define TIM_EVENTSOURCE_BREAK2 TIM_EGR_B2G
519#define TIM_INPUTCHANNELPOLARITY_RISING 0x00000000U
520#define TIM_INPUTCHANNELPOLARITY_FALLING TIM_CCER_CC1P
521#define TIM_INPUTCHANNELPOLARITY_BOTHEDGE (TIM_CCER_CC1P | TIM_CCER_CC1NP)
529#define TIM_ETRPOLARITY_INVERTED TIM_SMCR_ETP
530#define TIM_ETRPOLARITY_NONINVERTED 0x00000000U
538#define TIM_ETRPRESCALER_DIV1 0x00000000U
539#define TIM_ETRPRESCALER_DIV2 TIM_SMCR_ETPS_0
540#define TIM_ETRPRESCALER_DIV4 TIM_SMCR_ETPS_1
541#define TIM_ETRPRESCALER_DIV8 TIM_SMCR_ETPS
549#define TIM_COUNTERMODE_UP 0x00000000U
550#define TIM_COUNTERMODE_DOWN TIM_CR1_DIR
551#define TIM_COUNTERMODE_CENTERALIGNED1 TIM_CR1_CMS_0
552#define TIM_COUNTERMODE_CENTERALIGNED2 TIM_CR1_CMS_1
553#define TIM_COUNTERMODE_CENTERALIGNED3 TIM_CR1_CMS
561#define TIM_UIFREMAP_DISABLE 0x00000000U
562#define TIM_UIFREMAP_ENABLE TIM_CR1_UIFREMAP
570#define TIM_CLOCKDIVISION_DIV1 0x00000000U
571#define TIM_CLOCKDIVISION_DIV2 TIM_CR1_CKD_0
572#define TIM_CLOCKDIVISION_DIV4 TIM_CR1_CKD_1
580#define TIM_OUTPUTSTATE_DISABLE 0x00000000U
581#define TIM_OUTPUTSTATE_ENABLE TIM_CCER_CC1E
589#define TIM_AUTORELOAD_PRELOAD_DISABLE 0x00000000U
590#define TIM_AUTORELOAD_PRELOAD_ENABLE TIM_CR1_ARPE
599#define TIM_OCFAST_DISABLE 0x00000000U
600#define TIM_OCFAST_ENABLE TIM_CCMR1_OC1FE
608#define TIM_OUTPUTNSTATE_DISABLE 0x00000000U
609#define TIM_OUTPUTNSTATE_ENABLE TIM_CCER_CC1NE
617#define TIM_OCPOLARITY_HIGH 0x00000000U
618#define TIM_OCPOLARITY_LOW TIM_CCER_CC1P
626#define TIM_OCNPOLARITY_HIGH 0x00000000U
627#define TIM_OCNPOLARITY_LOW TIM_CCER_CC1NP
635#define TIM_OCIDLESTATE_SET TIM_CR2_OIS1
636#define TIM_OCIDLESTATE_RESET 0x00000000U
644#define TIM_OCNIDLESTATE_SET TIM_CR2_OIS1N
645#define TIM_OCNIDLESTATE_RESET 0x00000000U
653#define TIM_ICPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING
654#define TIM_ICPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING
655#define TIM_ICPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE
663#define TIM_ENCODERINPUTPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING
664#define TIM_ENCODERINPUTPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING
672#define TIM_ICSELECTION_DIRECTTI TIM_CCMR1_CC1S_0
673#define TIM_ICSELECTION_INDIRECTTI TIM_CCMR1_CC1S_1
674#define TIM_ICSELECTION_TRC TIM_CCMR1_CC1S
682#define TIM_ICPSC_DIV1 0x00000000U
683#define TIM_ICPSC_DIV2 TIM_CCMR1_IC1PSC_0
684#define TIM_ICPSC_DIV4 TIM_CCMR1_IC1PSC_1
685#define TIM_ICPSC_DIV8 TIM_CCMR1_IC1PSC
693#define TIM_OPMODE_SINGLE TIM_CR1_OPM
694#define TIM_OPMODE_REPETITIVE 0x00000000U
702#define TIM_ENCODERMODE_TI1 TIM_SMCR_SMS_0
703#define TIM_ENCODERMODE_TI2 TIM_SMCR_SMS_1
704#define TIM_ENCODERMODE_TI12 (TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0)
712#define TIM_IT_UPDATE TIM_DIER_UIE
713#define TIM_IT_CC1 TIM_DIER_CC1IE
714#define TIM_IT_CC2 TIM_DIER_CC2IE
715#define TIM_IT_CC3 TIM_DIER_CC3IE
716#define TIM_IT_CC4 TIM_DIER_CC4IE
717#define TIM_IT_COM TIM_DIER_COMIE
718#define TIM_IT_TRIGGER TIM_DIER_TIE
719#define TIM_IT_BREAK TIM_DIER_BIE
727#define TIM_COMMUTATION_TRGI TIM_CR2_CCUS
728#define TIM_COMMUTATION_SOFTWARE 0x00000000U
736#define TIM_DMA_UPDATE TIM_DIER_UDE
737#define TIM_DMA_CC1 TIM_DIER_CC1DE
738#define TIM_DMA_CC2 TIM_DIER_CC2DE
739#define TIM_DMA_CC3 TIM_DIER_CC3DE
740#define TIM_DMA_CC4 TIM_DIER_CC4DE
741#define TIM_DMA_COM TIM_DIER_COMDE
742#define TIM_DMA_TRIGGER TIM_DIER_TDE
750#define TIM_CCDMAREQUEST_CC 0x00000000U
751#define TIM_CCDMAREQUEST_UPDATE TIM_CR2_CCDS
759#define TIM_FLAG_UPDATE TIM_SR_UIF
760#define TIM_FLAG_CC1 TIM_SR_CC1IF
761#define TIM_FLAG_CC2 TIM_SR_CC2IF
762#define TIM_FLAG_CC3 TIM_SR_CC3IF
763#define TIM_FLAG_CC4 TIM_SR_CC4IF
764#define TIM_FLAG_CC5 TIM_SR_CC5IF
765#define TIM_FLAG_CC6 TIM_SR_CC6IF
766#define TIM_FLAG_COM TIM_SR_COMIF
767#define TIM_FLAG_TRIGGER TIM_SR_TIF
768#define TIM_FLAG_BREAK TIM_SR_BIF
769#define TIM_FLAG_BREAK2 TIM_SR_B2IF
770#define TIM_FLAG_SYSTEM_BREAK TIM_SR_SBIF
771#define TIM_FLAG_CC1OF TIM_SR_CC1OF
772#define TIM_FLAG_CC2OF TIM_SR_CC2OF
773#define TIM_FLAG_CC3OF TIM_SR_CC3OF
774#define TIM_FLAG_CC4OF TIM_SR_CC4OF
782#define TIM_CHANNEL_1 0x00000000U
783#define TIM_CHANNEL_2 0x00000004U
784#define TIM_CHANNEL_3 0x00000008U
785#define TIM_CHANNEL_4 0x0000000CU
786#define TIM_CHANNEL_5 0x00000010U
787#define TIM_CHANNEL_6 0x00000014U
788#define TIM_CHANNEL_ALL 0x0000003CU
796#define TIM_CLOCKSOURCE_INTERNAL TIM_SMCR_ETPS_0
797#define TIM_CLOCKSOURCE_ETRMODE1 TIM_TS_ETRF
798#define TIM_CLOCKSOURCE_ETRMODE2 TIM_SMCR_ETPS_1
799#define TIM_CLOCKSOURCE_TI1ED TIM_TS_TI1F_ED
800#define TIM_CLOCKSOURCE_TI1 TIM_TS_TI1FP1
801#define TIM_CLOCKSOURCE_TI2 TIM_TS_TI2FP2
802#define TIM_CLOCKSOURCE_ITR0 TIM_TS_ITR0
803#define TIM_CLOCKSOURCE_ITR1 TIM_TS_ITR1
804#define TIM_CLOCKSOURCE_ITR2 TIM_TS_ITR2
805#define TIM_CLOCKSOURCE_ITR3 TIM_TS_ITR3
806#define TIM_CLOCKSOURCE_ITR4 TIM_TS_ITR4
807#define TIM_CLOCKSOURCE_ITR5 TIM_TS_ITR5
808#define TIM_CLOCKSOURCE_ITR6 TIM_TS_ITR6
809#define TIM_CLOCKSOURCE_ITR7 TIM_TS_ITR7
810#define TIM_CLOCKSOURCE_ITR8 TIM_TS_ITR8
818#define TIM_CLOCKPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED
819#define TIM_CLOCKPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED
820#define TIM_CLOCKPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING
821#define TIM_CLOCKPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING
822#define TIM_CLOCKPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE
830#define TIM_CLOCKPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1
831#define TIM_CLOCKPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2
832#define TIM_CLOCKPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4
833#define TIM_CLOCKPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8
841#define TIM_CLEARINPUTPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED
842#define TIM_CLEARINPUTPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED
850#define TIM_CLEARINPUTPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1
851#define TIM_CLEARINPUTPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2
852#define TIM_CLEARINPUTPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4
853#define TIM_CLEARINPUTPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8
861#define TIM_OSSR_ENABLE TIM_BDTR_OSSR
862#define TIM_OSSR_DISABLE 0x00000000U
870#define TIM_OSSI_ENABLE TIM_BDTR_OSSI
871#define TIM_OSSI_DISABLE 0x00000000U
878#define TIM_LOCKLEVEL_OFF 0x00000000U
879#define TIM_LOCKLEVEL_1 TIM_BDTR_LOCK_0
880#define TIM_LOCKLEVEL_2 TIM_BDTR_LOCK_1
881#define TIM_LOCKLEVEL_3 TIM_BDTR_LOCK
889#define TIM_BREAK_ENABLE TIM_BDTR_BKE
890#define TIM_BREAK_DISABLE 0x00000000U
898#define TIM_BREAKPOLARITY_LOW 0x00000000U
899#define TIM_BREAKPOLARITY_HIGH TIM_BDTR_BKP
903#if defined(TIM_BDTR_BKBID)
908#define TIM_BREAK_AFMODE_INPUT 0x00000000U
909#define TIM_BREAK_AFMODE_BIDIRECTIONAL TIM_BDTR_BKBID
918#define TIM_BREAK2_DISABLE 0x00000000U
919#define TIM_BREAK2_ENABLE TIM_BDTR_BK2E
927#define TIM_BREAK2POLARITY_LOW 0x00000000U
928#define TIM_BREAK2POLARITY_HIGH TIM_BDTR_BK2P
932#if defined(TIM_BDTR_BKBID)
937#define TIM_BREAK2_AFMODE_INPUT 0x00000000U
938#define TIM_BREAK2_AFMODE_BIDIRECTIONAL TIM_BDTR_BK2BID
947#define TIM_AUTOMATICOUTPUT_DISABLE 0x00000000U
948#define TIM_AUTOMATICOUTPUT_ENABLE TIM_BDTR_AOE
956#define TIM_GROUPCH5_NONE 0x00000000U
957#define TIM_GROUPCH5_OC1REFC TIM_CCR5_GC5C1
958#define TIM_GROUPCH5_OC2REFC TIM_CCR5_GC5C2
959#define TIM_GROUPCH5_OC3REFC TIM_CCR5_GC5C3
967#define TIM_TRGO_RESET 0x00000000U
968#define TIM_TRGO_ENABLE TIM_CR2_MMS_0
969#define TIM_TRGO_UPDATE TIM_CR2_MMS_1
970#define TIM_TRGO_OC1 (TIM_CR2_MMS_1 | TIM_CR2_MMS_0)
971#define TIM_TRGO_OC1REF TIM_CR2_MMS_2
972#define TIM_TRGO_OC2REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_0)
973#define TIM_TRGO_OC3REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_1)
974#define TIM_TRGO_OC4REF (TIM_CR2_MMS_2 | TIM_CR2_MMS_1 | TIM_CR2_MMS_0)
982#define TIM_TRGO2_RESET 0x00000000U
983#define TIM_TRGO2_ENABLE TIM_CR2_MMS2_0
984#define TIM_TRGO2_UPDATE TIM_CR2_MMS2_1
985#define TIM_TRGO2_OC1 (TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)
986#define TIM_TRGO2_OC1REF TIM_CR2_MMS2_2
987#define TIM_TRGO2_OC2REF (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)
988#define TIM_TRGO2_OC3REF (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1)
989#define TIM_TRGO2_OC4REF (TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)
990#define TIM_TRGO2_OC5REF TIM_CR2_MMS2_3
991#define TIM_TRGO2_OC6REF (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_0)
992#define TIM_TRGO2_OC4REF_RISINGFALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1)
993#define TIM_TRGO2_OC6REF_RISINGFALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)
994#define TIM_TRGO2_OC4REF_RISING_OC6REF_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2)
995#define TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0)
996#define TIM_TRGO2_OC5REF_RISING_OC6REF_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1)
997#define TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0)
1005#define TIM_MASTERSLAVEMODE_ENABLE TIM_SMCR_MSM
1006#define TIM_MASTERSLAVEMODE_DISABLE 0x00000000U
1014#define TIM_SLAVEMODE_DISABLE 0x00000000U
1015#define TIM_SLAVEMODE_RESET TIM_SMCR_SMS_2
1016#define TIM_SLAVEMODE_GATED (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0)
1017#define TIM_SLAVEMODE_TRIGGER (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1)
1018#define TIM_SLAVEMODE_EXTERNAL1 (TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0)
1019#define TIM_SLAVEMODE_COMBINED_RESETTRIGGER TIM_SMCR_SMS_3
1027#define TIM_OCMODE_TIMING 0x00000000U
1028#define TIM_OCMODE_ACTIVE TIM_CCMR1_OC1M_0
1029#define TIM_OCMODE_INACTIVE TIM_CCMR1_OC1M_1
1030#define TIM_OCMODE_TOGGLE (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0)
1031#define TIM_OCMODE_PWM1 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1)
1032#define TIM_OCMODE_PWM2 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0)
1033#define TIM_OCMODE_FORCED_ACTIVE (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0)
1034#define TIM_OCMODE_FORCED_INACTIVE TIM_CCMR1_OC1M_2
1035#define TIM_OCMODE_RETRIGERRABLE_OPM1 TIM_CCMR1_OC1M_3
1036#define TIM_OCMODE_RETRIGERRABLE_OPM2 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0)
1037#define TIM_OCMODE_COMBINED_PWM1 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_2)
1038#define TIM_OCMODE_COMBINED_PWM2 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_2)
1039#define TIM_OCMODE_ASYMMETRIC_PWM1 (TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2)
1040#define TIM_OCMODE_ASYMMETRIC_PWM2 TIM_CCMR1_OC1M
1048#define TIM_TS_ITR0 0x00000000U
1049#define TIM_TS_ITR1 TIM_SMCR_TS_0
1050#define TIM_TS_ITR2 TIM_SMCR_TS_1
1051#define TIM_TS_ITR3 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1)
1052#define TIM_TS_ITR4 (TIM_SMCR_TS_3)
1053#define TIM_TS_ITR5 (TIM_SMCR_TS_0 | TIM_SMCR_TS_3)
1054#define TIM_TS_ITR6 (TIM_SMCR_TS_1 | TIM_SMCR_TS_3)
1055#define TIM_TS_ITR7 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1 | TIM_SMCR_TS_3)
1056#define TIM_TS_ITR8 (TIM_SMCR_TS_2 | TIM_SMCR_TS_3)
1057#define TIM_TS_ITR9 (TIM_SMCR_TS_0 | TIM_SMCR_TS_2 | TIM_SMCR_TS_3)
1058#define TIM_TS_ITR10 (TIM_SMCR_TS_1 | TIM_SMCR_TS_2 | TIM_SMCR_TS_3)
1059#define TIM_TS_ITR11 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1 | TIM_SMCR_TS_2 | TIM_SMCR_TS_3)
1060#define TIM_TS_ITR12 (TIM_SMCR_TS_4)
1061#define TIM_TS_ITR13 (TIM_SMCR_TS_0 | TIM_SMCR_TS_4)
1062#define TIM_TS_TI1F_ED TIM_SMCR_TS_2
1063#define TIM_TS_TI1FP1 (TIM_SMCR_TS_0 | TIM_SMCR_TS_2)
1064#define TIM_TS_TI2FP2 (TIM_SMCR_TS_1 | TIM_SMCR_TS_2)
1065#define TIM_TS_ETRF (TIM_SMCR_TS_0 | TIM_SMCR_TS_1 | TIM_SMCR_TS_2)
1066#define TIM_TS_NONE 0x0000FFFFU
1074#define TIM_TRIGGERPOLARITY_INVERTED TIM_ETRPOLARITY_INVERTED
1075#define TIM_TRIGGERPOLARITY_NONINVERTED TIM_ETRPOLARITY_NONINVERTED
1076#define TIM_TRIGGERPOLARITY_RISING TIM_INPUTCHANNELPOLARITY_RISING
1077#define TIM_TRIGGERPOLARITY_FALLING TIM_INPUTCHANNELPOLARITY_FALLING
1078#define TIM_TRIGGERPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE
1086#define TIM_TRIGGERPRESCALER_DIV1 TIM_ETRPRESCALER_DIV1
1087#define TIM_TRIGGERPRESCALER_DIV2 TIM_ETRPRESCALER_DIV2
1088#define TIM_TRIGGERPRESCALER_DIV4 TIM_ETRPRESCALER_DIV4
1089#define TIM_TRIGGERPRESCALER_DIV8 TIM_ETRPRESCALER_DIV8
1097#define TIM_TI1SELECTION_CH1 0x00000000U
1098#define TIM_TI1SELECTION_XORCOMBINATION TIM_CR2_TI1S
1106#define TIM_DMABURSTLENGTH_1TRANSFER 0x00000000U
1107#define TIM_DMABURSTLENGTH_2TRANSFERS 0x00000100U
1108#define TIM_DMABURSTLENGTH_3TRANSFERS 0x00000200U
1109#define TIM_DMABURSTLENGTH_4TRANSFERS 0x00000300U
1110#define TIM_DMABURSTLENGTH_5TRANSFERS 0x00000400U
1111#define TIM_DMABURSTLENGTH_6TRANSFERS 0x00000500U
1112#define TIM_DMABURSTLENGTH_7TRANSFERS 0x00000600U
1113#define TIM_DMABURSTLENGTH_8TRANSFERS 0x00000700U
1114#define TIM_DMABURSTLENGTH_9TRANSFERS 0x00000800U
1115#define TIM_DMABURSTLENGTH_10TRANSFERS 0x00000900U
1116#define TIM_DMABURSTLENGTH_11TRANSFERS 0x00000A00U
1117#define TIM_DMABURSTLENGTH_12TRANSFERS 0x00000B00U
1118#define TIM_DMABURSTLENGTH_13TRANSFERS 0x00000C00U
1119#define TIM_DMABURSTLENGTH_14TRANSFERS 0x00000D00U
1120#define TIM_DMABURSTLENGTH_15TRANSFERS 0x00000E00U
1121#define TIM_DMABURSTLENGTH_16TRANSFERS 0x00000F00U
1122#define TIM_DMABURSTLENGTH_17TRANSFERS 0x00001000U
1123#define TIM_DMABURSTLENGTH_18TRANSFERS 0x00001100U
1131#define TIM_DMA_ID_UPDATE ((uint16_t) 0x0000)
1132#define TIM_DMA_ID_CC1 ((uint16_t) 0x0001)
1133#define TIM_DMA_ID_CC2 ((uint16_t) 0x0002)
1134#define TIM_DMA_ID_CC3 ((uint16_t) 0x0003)
1135#define TIM_DMA_ID_CC4 ((uint16_t) 0x0004)
1136#define TIM_DMA_ID_COMMUTATION ((uint16_t) 0x0005)
1137#define TIM_DMA_ID_TRIGGER ((uint16_t) 0x0006)
1145#define TIM_CCx_ENABLE 0x00000001U
1146#define TIM_CCx_DISABLE 0x00000000U
1147#define TIM_CCxN_ENABLE 0x00000004U
1148#define TIM_CCxN_DISABLE 0x00000000U
1156#define TIM_BREAK_SYSTEM_ECC SYSCFG_CFGR2_ECCL
1157#define TIM_BREAK_SYSTEM_PVD SYSCFG_CFGR2_PVDL
1158#define TIM_BREAK_SYSTEM_SRAM_PARITY_ERROR SYSCFG_CFGR2_SPL
1159#define TIM_BREAK_SYSTEM_LOCKUP SYSCFG_CFGR2_CLL
1178#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
1179#define __HAL_TIM_RESET_HANDLE_STATE(__HANDLE__) do { \
1180 (__HANDLE__)->State = HAL_TIM_STATE_RESET; \
1181 (__HANDLE__)->ChannelState[0] = HAL_TIM_CHANNEL_STATE_RESET; \
1182 (__HANDLE__)->ChannelState[1] = HAL_TIM_CHANNEL_STATE_RESET; \
1183 (__HANDLE__)->ChannelState[2] = HAL_TIM_CHANNEL_STATE_RESET; \
1184 (__HANDLE__)->ChannelState[3] = HAL_TIM_CHANNEL_STATE_RESET; \
1185 (__HANDLE__)->ChannelState[4] = HAL_TIM_CHANNEL_STATE_RESET; \
1186 (__HANDLE__)->ChannelState[5] = HAL_TIM_CHANNEL_STATE_RESET; \
1187 (__HANDLE__)->ChannelNState[0] = HAL_TIM_CHANNEL_STATE_RESET; \
1188 (__HANDLE__)->ChannelNState[1] = HAL_TIM_CHANNEL_STATE_RESET; \
1189 (__HANDLE__)->ChannelNState[2] = HAL_TIM_CHANNEL_STATE_RESET; \
1190 (__HANDLE__)->ChannelNState[3] = HAL_TIM_CHANNEL_STATE_RESET; \
1191 (__HANDLE__)->DMABurstState = HAL_DMA_BURST_STATE_RESET; \
1192 (__HANDLE__)->Base_MspInitCallback = NULL; \
1193 (__HANDLE__)->Base_MspDeInitCallback = NULL; \
1194 (__HANDLE__)->IC_MspInitCallback = NULL; \
1195 (__HANDLE__)->IC_MspDeInitCallback = NULL; \
1196 (__HANDLE__)->OC_MspInitCallback = NULL; \
1197 (__HANDLE__)->OC_MspDeInitCallback = NULL; \
1198 (__HANDLE__)->PWM_MspInitCallback = NULL; \
1199 (__HANDLE__)->PWM_MspDeInitCallback = NULL; \
1200 (__HANDLE__)->OnePulse_MspInitCallback = NULL; \
1201 (__HANDLE__)->OnePulse_MspDeInitCallback = NULL; \
1202 (__HANDLE__)->Encoder_MspInitCallback = NULL; \
1203 (__HANDLE__)->Encoder_MspDeInitCallback = NULL; \
1204 (__HANDLE__)->HallSensor_MspInitCallback = NULL; \
1205 (__HANDLE__)->HallSensor_MspDeInitCallback = NULL; \
1208#define __HAL_TIM_RESET_HANDLE_STATE(__HANDLE__) do { \
1209 (__HANDLE__)->State = HAL_TIM_STATE_RESET; \
1210 (__HANDLE__)->ChannelState[0] = HAL_TIM_CHANNEL_STATE_RESET; \
1211 (__HANDLE__)->ChannelState[1] = HAL_TIM_CHANNEL_STATE_RESET; \
1212 (__HANDLE__)->ChannelState[2] = HAL_TIM_CHANNEL_STATE_RESET; \
1213 (__HANDLE__)->ChannelState[3] = HAL_TIM_CHANNEL_STATE_RESET; \
1214 (__HANDLE__)->ChannelState[4] = HAL_TIM_CHANNEL_STATE_RESET; \
1215 (__HANDLE__)->ChannelState[5] = HAL_TIM_CHANNEL_STATE_RESET; \
1216 (__HANDLE__)->ChannelNState[0] = HAL_TIM_CHANNEL_STATE_RESET; \
1217 (__HANDLE__)->ChannelNState[1] = HAL_TIM_CHANNEL_STATE_RESET; \
1218 (__HANDLE__)->ChannelNState[2] = HAL_TIM_CHANNEL_STATE_RESET; \
1219 (__HANDLE__)->ChannelNState[3] = HAL_TIM_CHANNEL_STATE_RESET; \
1220 (__HANDLE__)->DMABurstState = HAL_DMA_BURST_STATE_RESET; \
1229#define __HAL_TIM_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1|=(TIM_CR1_CEN))
1236#define __HAL_TIM_MOE_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->BDTR|=(TIM_BDTR_MOE))
1243#define __HAL_TIM_DISABLE(__HANDLE__) \
1245 if (((__HANDLE__)->Instance->CCER & TIM_CCER_CCxE_MASK) == 0UL) \
1247 if(((__HANDLE__)->Instance->CCER & TIM_CCER_CCxNE_MASK) == 0UL) \
1249 (__HANDLE__)->Instance->CR1 &= ~(TIM_CR1_CEN); \
1261#define __HAL_TIM_MOE_DISABLE(__HANDLE__) \
1263 if (((__HANDLE__)->Instance->CCER & TIM_CCER_CCxE_MASK) == 0UL) \
1265 if(((__HANDLE__)->Instance->CCER & TIM_CCER_CCxNE_MASK) == 0UL) \
1267 (__HANDLE__)->Instance->BDTR &= ~(TIM_BDTR_MOE); \
1278#define __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY(__HANDLE__) (__HANDLE__)->Instance->BDTR &= ~(TIM_BDTR_MOE)
1294#define __HAL_TIM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DIER |= (__INTERRUPT__))
1310#define __HAL_TIM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->DIER &= ~(__INTERRUPT__))
1325#define __HAL_TIM_ENABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->DIER |= (__DMA__))
1340#define __HAL_TIM_DISABLE_DMA(__HANDLE__, __DMA__) ((__HANDLE__)->Instance->DIER &= ~(__DMA__))
1364#define __HAL_TIM_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR &(__FLAG__)) == (__FLAG__))
1388#define __HAL_TIM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR = ~(__FLAG__))
1405#define __HAL_TIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->DIER & (__INTERRUPT__)) \
1406 == (__INTERRUPT__)) ? SET : RESET)
1422#define __HAL_TIM_CLEAR_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->SR = ~(__INTERRUPT__))
1432#define __HAL_TIM_UIFREMAP_ENABLE(__HANDLE__) (((__HANDLE__)->Instance->CR1 |= TIM_CR1_UIFREMAP))
1440#define __HAL_TIM_UIFREMAP_DISABLE(__HANDLE__) (((__HANDLE__)->Instance->CR1 &= ~TIM_CR1_UIFREMAP))
1448#define __HAL_TIM_GET_UIFCPY(__COUNTER__) (((__COUNTER__) & (TIM_CNT_UIFCPY)) == (TIM_CNT_UIFCPY))
1457#define __HAL_TIM_IS_TIM_COUNTING_DOWN(__HANDLE__) (((__HANDLE__)->Instance->CR1 &(TIM_CR1_DIR)) == (TIM_CR1_DIR))
1465#define __HAL_TIM_SET_PRESCALER(__HANDLE__, __PRESC__) ((__HANDLE__)->Instance->PSC = (__PRESC__))
1476#define __HAL_TIM_SET_COUNTER(__HANDLE__, __COUNTER__) ((__HANDLE__)->Instance->CNT = (__COUNTER__))
1483#define __HAL_TIM_GET_COUNTER(__HANDLE__) ((__HANDLE__)->Instance->CNT)
1491#define __HAL_TIM_SET_AUTORELOAD(__HANDLE__, __AUTORELOAD__) \
1493 (__HANDLE__)->Instance->ARR = (__AUTORELOAD__); \
1494 (__HANDLE__)->Init.Period = (__AUTORELOAD__); \
1502#define __HAL_TIM_GET_AUTORELOAD(__HANDLE__) ((__HANDLE__)->Instance->ARR)
1514#define __HAL_TIM_SET_CLOCKDIVISION(__HANDLE__, __CKD__) \
1516 (__HANDLE__)->Instance->CR1 &= (~TIM_CR1_CKD); \
1517 (__HANDLE__)->Instance->CR1 |= (__CKD__); \
1518 (__HANDLE__)->Init.ClockDivision = (__CKD__); \
1529#define __HAL_TIM_GET_CLOCKDIVISION(__HANDLE__) ((__HANDLE__)->Instance->CR1 & TIM_CR1_CKD)
1549#define __HAL_TIM_SET_ICPRESCALER(__HANDLE__, __CHANNEL__, __ICPSC__) \
1551 TIM_RESET_ICPRESCALERVALUE((__HANDLE__), (__CHANNEL__)); \
1552 TIM_SET_ICPRESCALERVALUE((__HANDLE__), (__CHANNEL__), (__ICPSC__)); \
1570#define __HAL_TIM_GET_ICPRESCALER(__HANDLE__, __CHANNEL__) \
1571 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 & TIM_CCMR1_IC1PSC) :\
1572 ((__CHANNEL__) == TIM_CHANNEL_2) ? (((__HANDLE__)->Instance->CCMR1 & TIM_CCMR1_IC2PSC) >> 8U) :\
1573 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 & TIM_CCMR2_IC3PSC) :\
1574 (((__HANDLE__)->Instance->CCMR2 & TIM_CCMR2_IC4PSC)) >> 8U)
1590#define __HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__) \
1591 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1 = (__COMPARE__)) :\
1592 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2 = (__COMPARE__)) :\
1593 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3 = (__COMPARE__)) :\
1594 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4 = (__COMPARE__)) :\
1595 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5 = (__COMPARE__)) :\
1596 ((__HANDLE__)->Instance->CCR6 = (__COMPARE__)))
1611#define __HAL_TIM_GET_COMPARE(__HANDLE__, __CHANNEL__) \
1612 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1) :\
1613 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2) :\
1614 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3) :\
1615 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4) :\
1616 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5) :\
1617 ((__HANDLE__)->Instance->CCR6))
1632#define __HAL_TIM_ENABLE_OCxPRELOAD(__HANDLE__, __CHANNEL__) \
1633 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 |= TIM_CCMR1_OC1PE) :\
1634 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 |= TIM_CCMR1_OC2PE) :\
1635 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 |= TIM_CCMR2_OC3PE) :\
1636 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCMR2 |= TIM_CCMR2_OC4PE) :\
1637 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCMR3 |= TIM_CCMR3_OC5PE) :\
1638 ((__HANDLE__)->Instance->CCMR3 |= TIM_CCMR3_OC6PE))
1653#define __HAL_TIM_DISABLE_OCxPRELOAD(__HANDLE__, __CHANNEL__) \
1654 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_OC1PE) :\
1655 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_OC2PE) :\
1656 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_OC3PE) :\
1657 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_OC4PE) :\
1658 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCMR3 &= ~TIM_CCMR3_OC5PE) :\
1659 ((__HANDLE__)->Instance->CCMR3 &= ~TIM_CCMR3_OC6PE))
1678#define __HAL_TIM_ENABLE_OCxFAST(__HANDLE__, __CHANNEL__) \
1679 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 |= TIM_CCMR1_OC1FE) :\
1680 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 |= TIM_CCMR1_OC2FE) :\
1681 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 |= TIM_CCMR2_OC3FE) :\
1682 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCMR2 |= TIM_CCMR2_OC4FE) :\
1683 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCMR3 |= TIM_CCMR3_OC5FE) :\
1684 ((__HANDLE__)->Instance->CCMR3 |= TIM_CCMR3_OC6FE))
1703#define __HAL_TIM_DISABLE_OCxFAST(__HANDLE__, __CHANNEL__) \
1704 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE) :\
1705 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE) :\
1706 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE) :\
1707 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE) :\
1708 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCMR3 &= ~TIM_CCMR3_OC5FE) :\
1709 ((__HANDLE__)->Instance->CCMR3 &= ~TIM_CCMR3_OC6FE))
1719#define __HAL_TIM_URS_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1|= TIM_CR1_URS)
1732#define __HAL_TIM_URS_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1&=~TIM_CR1_URS)
1749#define __HAL_TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__) \
1751 TIM_RESET_CAPTUREPOLARITY((__HANDLE__), (__CHANNEL__)); \
1752 TIM_SET_CAPTUREPOLARITY((__HANDLE__), (__CHANNEL__), (__POLARITY__)); \
1763#define __HAL_TIM_SELECT_CCDMAREQUEST(__HANDLE__, __CCDMA__) \
1764 MODIFY_REG((__HANDLE__)->Instance->CR2, TIM_CR2_CCDS, (__CCDMA__))
1777#define TIM_CCER_CCxE_MASK ((uint32_t)(TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC3E | TIM_CCER_CC4E | \
1778 TIM_CCER_CC5E | TIM_CCER_CC6E))
1779#define TIM_CCER_CCxNE_MASK ((uint32_t)(TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE))
1789#define IS_TIM_CLEARINPUT_SOURCE(__MODE__) (((__MODE__) == TIM_CLEARINPUTSOURCE_NONE) || \
1790 ((__MODE__) == TIM_CLEARINPUTSOURCE_ETR))
1792#define IS_TIM_DMA_BASE(__BASE__) (((__BASE__) == TIM_DMABASE_CR1) || \
1793 ((__BASE__) == TIM_DMABASE_CR2) || \
1794 ((__BASE__) == TIM_DMABASE_SMCR) || \
1795 ((__BASE__) == TIM_DMABASE_DIER) || \
1796 ((__BASE__) == TIM_DMABASE_SR) || \
1797 ((__BASE__) == TIM_DMABASE_EGR) || \
1798 ((__BASE__) == TIM_DMABASE_CCMR1) || \
1799 ((__BASE__) == TIM_DMABASE_CCMR2) || \
1800 ((__BASE__) == TIM_DMABASE_CCER) || \
1801 ((__BASE__) == TIM_DMABASE_CNT) || \
1802 ((__BASE__) == TIM_DMABASE_PSC) || \
1803 ((__BASE__) == TIM_DMABASE_ARR) || \
1804 ((__BASE__) == TIM_DMABASE_RCR) || \
1805 ((__BASE__) == TIM_DMABASE_CCR1) || \
1806 ((__BASE__) == TIM_DMABASE_CCR2) || \
1807 ((__BASE__) == TIM_DMABASE_CCR3) || \
1808 ((__BASE__) == TIM_DMABASE_CCR4) || \
1809 ((__BASE__) == TIM_DMABASE_BDTR) || \
1810 ((__BASE__) == TIM_DMABASE_CCMR3) || \
1811 ((__BASE__) == TIM_DMABASE_CCR5) || \
1812 ((__BASE__) == TIM_DMABASE_CCR6) || \
1813 ((__BASE__) == TIM_DMABASE_AF1) || \
1814 ((__BASE__) == TIM_DMABASE_AF2) || \
1815 ((__BASE__) == TIM_DMABASE_TISEL))
1818#define IS_TIM_EVENT_SOURCE(__SOURCE__) ((((__SOURCE__) & 0xFFFFFE00U) == 0x00000000U) && ((__SOURCE__) != 0x00000000U))
1820#define IS_TIM_COUNTER_MODE(__MODE__) (((__MODE__) == TIM_COUNTERMODE_UP) || \
1821 ((__MODE__) == TIM_COUNTERMODE_DOWN) || \
1822 ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED1) || \
1823 ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED2) || \
1824 ((__MODE__) == TIM_COUNTERMODE_CENTERALIGNED3))
1826#define IS_TIM_UIFREMAP_MODE(__MODE__) (((__MODE__) == TIM_UIFREMAP_DISABLE) || \
1827 ((__MODE__) == TIM_UIFREMAP_ENABLE))
1829#define IS_TIM_CLOCKDIVISION_DIV(__DIV__) (((__DIV__) == TIM_CLOCKDIVISION_DIV1) || \
1830 ((__DIV__) == TIM_CLOCKDIVISION_DIV2) || \
1831 ((__DIV__) == TIM_CLOCKDIVISION_DIV4))
1833#define IS_TIM_AUTORELOAD_PRELOAD(PRELOAD) (((PRELOAD) == TIM_AUTORELOAD_PRELOAD_DISABLE) || \
1834 ((PRELOAD) == TIM_AUTORELOAD_PRELOAD_ENABLE))
1836#define IS_TIM_FAST_STATE(__STATE__) (((__STATE__) == TIM_OCFAST_DISABLE) || \
1837 ((__STATE__) == TIM_OCFAST_ENABLE))
1839#define IS_TIM_OC_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_OCPOLARITY_HIGH) || \
1840 ((__POLARITY__) == TIM_OCPOLARITY_LOW))
1842#define IS_TIM_OCN_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_OCNPOLARITY_HIGH) || \
1843 ((__POLARITY__) == TIM_OCNPOLARITY_LOW))
1845#define IS_TIM_OCIDLE_STATE(__STATE__) (((__STATE__) == TIM_OCIDLESTATE_SET) || \
1846 ((__STATE__) == TIM_OCIDLESTATE_RESET))
1848#define IS_TIM_OCNIDLE_STATE(__STATE__) (((__STATE__) == TIM_OCNIDLESTATE_SET) || \
1849 ((__STATE__) == TIM_OCNIDLESTATE_RESET))
1851#define IS_TIM_ENCODERINPUT_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_ENCODERINPUTPOLARITY_RISING) || \
1852 ((__POLARITY__) == TIM_ENCODERINPUTPOLARITY_FALLING))
1854#define IS_TIM_IC_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_ICPOLARITY_RISING) || \
1855 ((__POLARITY__) == TIM_ICPOLARITY_FALLING) || \
1856 ((__POLARITY__) == TIM_ICPOLARITY_BOTHEDGE))
1858#define IS_TIM_IC_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_ICSELECTION_DIRECTTI) || \
1859 ((__SELECTION__) == TIM_ICSELECTION_INDIRECTTI) || \
1860 ((__SELECTION__) == TIM_ICSELECTION_TRC))
1862#define IS_TIM_IC_PRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_ICPSC_DIV1) || \
1863 ((__PRESCALER__) == TIM_ICPSC_DIV2) || \
1864 ((__PRESCALER__) == TIM_ICPSC_DIV4) || \
1865 ((__PRESCALER__) == TIM_ICPSC_DIV8))
1867#define IS_TIM_CCX_CHANNEL(__INSTANCE__, __CHANNEL__) (IS_TIM_CCX_INSTANCE(__INSTANCE__, __CHANNEL__) && \
1868 ((__CHANNEL__) != (TIM_CHANNEL_5)) && \
1869 ((__CHANNEL__) != (TIM_CHANNEL_6)))
1871#define IS_TIM_OPM_MODE(__MODE__) (((__MODE__) == TIM_OPMODE_SINGLE) || \
1872 ((__MODE__) == TIM_OPMODE_REPETITIVE))
1874#define IS_TIM_ENCODER_MODE(__MODE__) (((__MODE__) == TIM_ENCODERMODE_TI1) || \
1875 ((__MODE__) == TIM_ENCODERMODE_TI2) || \
1876 ((__MODE__) == TIM_ENCODERMODE_TI12))
1878#define IS_TIM_DMA_SOURCE(__SOURCE__) ((((__SOURCE__) & 0xFFFF80FFU) == 0x00000000U) && ((__SOURCE__) != 0x00000000U))
1880#define IS_TIM_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \
1881 ((__CHANNEL__) == TIM_CHANNEL_2) || \
1882 ((__CHANNEL__) == TIM_CHANNEL_3) || \
1883 ((__CHANNEL__) == TIM_CHANNEL_4) || \
1884 ((__CHANNEL__) == TIM_CHANNEL_5) || \
1885 ((__CHANNEL__) == TIM_CHANNEL_6) || \
1886 ((__CHANNEL__) == TIM_CHANNEL_ALL))
1888#define IS_TIM_OPM_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \
1889 ((__CHANNEL__) == TIM_CHANNEL_2))
1891#define IS_TIM_PERIOD(__HANDLE__, __PERIOD__) ((IS_TIM_32B_COUNTER_INSTANCE(((__HANDLE__)->Instance)) == 0U) ? \
1892 (((__PERIOD__) > 0U) && ((__PERIOD__) <= 0x0000FFFFU)) : \
1893 ((__PERIOD__) > 0U))
1895#define IS_TIM_COMPLEMENTARY_CHANNELS(__CHANNEL__) (((__CHANNEL__) == TIM_CHANNEL_1) || \
1896 ((__CHANNEL__) == TIM_CHANNEL_2) || \
1897 ((__CHANNEL__) == TIM_CHANNEL_3))
1899#define IS_TIM_CLOCKSOURCE(__CLOCK__) (((__CLOCK__) == TIM_CLOCKSOURCE_INTERNAL) || \
1900 ((__CLOCK__) == TIM_CLOCKSOURCE_ETRMODE1) || \
1901 ((__CLOCK__) == TIM_CLOCKSOURCE_ETRMODE2) || \
1902 ((__CLOCK__) == TIM_CLOCKSOURCE_TI1ED) || \
1903 ((__CLOCK__) == TIM_CLOCKSOURCE_TI1) || \
1904 ((__CLOCK__) == TIM_CLOCKSOURCE_TI2) || \
1905 ((__CLOCK__) == TIM_CLOCKSOURCE_ITR0) || \
1906 ((__CLOCK__) == TIM_CLOCKSOURCE_ITR1) || \
1907 ((__CLOCK__) == TIM_CLOCKSOURCE_ITR2) || \
1908 ((__CLOCK__) == TIM_CLOCKSOURCE_ITR3))
1910#define IS_TIM_CLOCKPOLARITY(__POLARITY__) (((__POLARITY__) == TIM_CLOCKPOLARITY_INVERTED) || \
1911 ((__POLARITY__) == TIM_CLOCKPOLARITY_NONINVERTED) || \
1912 ((__POLARITY__) == TIM_CLOCKPOLARITY_RISING) || \
1913 ((__POLARITY__) == TIM_CLOCKPOLARITY_FALLING) || \
1914 ((__POLARITY__) == TIM_CLOCKPOLARITY_BOTHEDGE))
1916#define IS_TIM_CLOCKPRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV1) || \
1917 ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV2) || \
1918 ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV4) || \
1919 ((__PRESCALER__) == TIM_CLOCKPRESCALER_DIV8))
1921#define IS_TIM_CLOCKFILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU)
1923#define IS_TIM_CLEARINPUT_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_CLEARINPUTPOLARITY_INVERTED) || \
1924 ((__POLARITY__) == TIM_CLEARINPUTPOLARITY_NONINVERTED))
1926#define IS_TIM_CLEARINPUT_PRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV1) || \
1927 ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV2) || \
1928 ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV4) || \
1929 ((__PRESCALER__) == TIM_CLEARINPUTPRESCALER_DIV8))
1931#define IS_TIM_CLEARINPUT_FILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU)
1933#define IS_TIM_OSSR_STATE(__STATE__) (((__STATE__) == TIM_OSSR_ENABLE) || \
1934 ((__STATE__) == TIM_OSSR_DISABLE))
1936#define IS_TIM_OSSI_STATE(__STATE__) (((__STATE__) == TIM_OSSI_ENABLE) || \
1937 ((__STATE__) == TIM_OSSI_DISABLE))
1939#define IS_TIM_LOCK_LEVEL(__LEVEL__) (((__LEVEL__) == TIM_LOCKLEVEL_OFF) || \
1940 ((__LEVEL__) == TIM_LOCKLEVEL_1) || \
1941 ((__LEVEL__) == TIM_LOCKLEVEL_2) || \
1942 ((__LEVEL__) == TIM_LOCKLEVEL_3))
1944#define IS_TIM_BREAK_FILTER(__BRKFILTER__) ((__BRKFILTER__) <= 0xFUL)
1946#define IS_TIM_BREAK_STATE(__STATE__) (((__STATE__) == TIM_BREAK_ENABLE) || \
1947 ((__STATE__) == TIM_BREAK_DISABLE))
1949#define IS_TIM_BREAK_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAKPOLARITY_LOW) || \
1950 ((__POLARITY__) == TIM_BREAKPOLARITY_HIGH))
1951#if defined(TIM_BDTR_BKBID)
1953#define IS_TIM_BREAK_AFMODE(__AFMODE__) (((__AFMODE__) == TIM_BREAK_AFMODE_INPUT) || \
1954 ((__AFMODE__) == TIM_BREAK_AFMODE_BIDIRECTIONAL))
1958#define IS_TIM_BREAK2_STATE(__STATE__) (((__STATE__) == TIM_BREAK2_ENABLE) || \
1959 ((__STATE__) == TIM_BREAK2_DISABLE))
1961#define IS_TIM_BREAK2_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAK2POLARITY_LOW) || \
1962 ((__POLARITY__) == TIM_BREAK2POLARITY_HIGH))
1963#if defined(TIM_BDTR_BKBID)
1965#define IS_TIM_BREAK2_AFMODE(__AFMODE__) (((__AFMODE__) == TIM_BREAK2_AFMODE_INPUT) || \
1966 ((__AFMODE__) == TIM_BREAK2_AFMODE_BIDIRECTIONAL))
1970#define IS_TIM_AUTOMATIC_OUTPUT_STATE(__STATE__) (((__STATE__) == TIM_AUTOMATICOUTPUT_ENABLE) || \
1971 ((__STATE__) == TIM_AUTOMATICOUTPUT_DISABLE))
1973#define IS_TIM_GROUPCH5(__OCREF__) ((((__OCREF__) & 0x1FFFFFFFU) == 0x00000000U))
1975#define IS_TIM_TRGO_SOURCE(__SOURCE__) (((__SOURCE__) == TIM_TRGO_RESET) || \
1976 ((__SOURCE__) == TIM_TRGO_ENABLE) || \
1977 ((__SOURCE__) == TIM_TRGO_UPDATE) || \
1978 ((__SOURCE__) == TIM_TRGO_OC1) || \
1979 ((__SOURCE__) == TIM_TRGO_OC1REF) || \
1980 ((__SOURCE__) == TIM_TRGO_OC2REF) || \
1981 ((__SOURCE__) == TIM_TRGO_OC3REF) || \
1982 ((__SOURCE__) == TIM_TRGO_OC4REF))
1984#define IS_TIM_TRGO2_SOURCE(__SOURCE__) (((__SOURCE__) == TIM_TRGO2_RESET) || \
1985 ((__SOURCE__) == TIM_TRGO2_ENABLE) || \
1986 ((__SOURCE__) == TIM_TRGO2_UPDATE) || \
1987 ((__SOURCE__) == TIM_TRGO2_OC1) || \
1988 ((__SOURCE__) == TIM_TRGO2_OC1REF) || \
1989 ((__SOURCE__) == TIM_TRGO2_OC2REF) || \
1990 ((__SOURCE__) == TIM_TRGO2_OC3REF) || \
1991 ((__SOURCE__) == TIM_TRGO2_OC3REF) || \
1992 ((__SOURCE__) == TIM_TRGO2_OC4REF) || \
1993 ((__SOURCE__) == TIM_TRGO2_OC5REF) || \
1994 ((__SOURCE__) == TIM_TRGO2_OC6REF) || \
1995 ((__SOURCE__) == TIM_TRGO2_OC4REF_RISINGFALLING) || \
1996 ((__SOURCE__) == TIM_TRGO2_OC6REF_RISINGFALLING) || \
1997 ((__SOURCE__) == TIM_TRGO2_OC4REF_RISING_OC6REF_RISING) || \
1998 ((__SOURCE__) == TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING) || \
1999 ((__SOURCE__) == TIM_TRGO2_OC5REF_RISING_OC6REF_RISING) || \
2000 ((__SOURCE__) == TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING))
2002#define IS_TIM_MSM_STATE(__STATE__) (((__STATE__) == TIM_MASTERSLAVEMODE_ENABLE) || \
2003 ((__STATE__) == TIM_MASTERSLAVEMODE_DISABLE))
2005#define IS_TIM_SLAVE_MODE(__MODE__) (((__MODE__) == TIM_SLAVEMODE_DISABLE) || \
2006 ((__MODE__) == TIM_SLAVEMODE_RESET) || \
2007 ((__MODE__) == TIM_SLAVEMODE_GATED) || \
2008 ((__MODE__) == TIM_SLAVEMODE_TRIGGER) || \
2009 ((__MODE__) == TIM_SLAVEMODE_EXTERNAL1) || \
2010 ((__MODE__) == TIM_SLAVEMODE_COMBINED_RESETTRIGGER))
2012#define IS_TIM_PWM_MODE(__MODE__) (((__MODE__) == TIM_OCMODE_PWM1) || \
2013 ((__MODE__) == TIM_OCMODE_PWM2) || \
2014 ((__MODE__) == TIM_OCMODE_COMBINED_PWM1) || \
2015 ((__MODE__) == TIM_OCMODE_COMBINED_PWM2) || \
2016 ((__MODE__) == TIM_OCMODE_ASYMMETRIC_PWM1) || \
2017 ((__MODE__) == TIM_OCMODE_ASYMMETRIC_PWM2))
2019#define IS_TIM_OC_MODE(__MODE__) (((__MODE__) == TIM_OCMODE_TIMING) || \
2020 ((__MODE__) == TIM_OCMODE_ACTIVE) || \
2021 ((__MODE__) == TIM_OCMODE_INACTIVE) || \
2022 ((__MODE__) == TIM_OCMODE_TOGGLE) || \
2023 ((__MODE__) == TIM_OCMODE_FORCED_ACTIVE) || \
2024 ((__MODE__) == TIM_OCMODE_FORCED_INACTIVE) || \
2025 ((__MODE__) == TIM_OCMODE_RETRIGERRABLE_OPM1) || \
2026 ((__MODE__) == TIM_OCMODE_RETRIGERRABLE_OPM2))
2028#define IS_TIM_TRIGGER_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_TS_ITR0) || \
2029 ((__SELECTION__) == TIM_TS_ITR1) || \
2030 ((__SELECTION__) == TIM_TS_ITR2) || \
2031 ((__SELECTION__) == TIM_TS_ITR3) || \
2032 ((__SELECTION__) == TIM_TS_ITR4) || \
2033 ((__SELECTION__) == TIM_TS_ITR5) || \
2034 ((__SELECTION__) == TIM_TS_ITR6) || \
2035 ((__SELECTION__) == TIM_TS_ITR7) || \
2036 ((__SELECTION__) == TIM_TS_ITR8) || \
2037 ((__SELECTION__) == TIM_TS_ITR12) || \
2038 ((__SELECTION__) == TIM_TS_ITR13) || \
2039 ((__SELECTION__) == TIM_TS_TI1F_ED) || \
2040 ((__SELECTION__) == TIM_TS_TI1FP1) || \
2041 ((__SELECTION__) == TIM_TS_TI2FP2) || \
2042 ((__SELECTION__) == TIM_TS_ETRF))
2044#define IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(__SELECTION__) (((__SELECTION__) == TIM_TS_ITR0) || \
2045 ((__SELECTION__) == TIM_TS_ITR1) || \
2046 ((__SELECTION__) == TIM_TS_ITR2) || \
2047 ((__SELECTION__) == TIM_TS_ITR3) || \
2048 ((__SELECTION__) == TIM_TS_ITR4) || \
2049 ((__SELECTION__) == TIM_TS_ITR5) || \
2050 ((__SELECTION__) == TIM_TS_ITR6) || \
2051 ((__SELECTION__) == TIM_TS_ITR7) || \
2052 ((__SELECTION__) == TIM_TS_ITR8) || \
2053 ((__SELECTION__) == TIM_TS_ITR12) || \
2054 ((__SELECTION__) == TIM_TS_ITR13) || \
2055 ((__SELECTION__) == TIM_TS_NONE))
2057#define IS_TIM_TRIGGERPOLARITY(__POLARITY__) (((__POLARITY__) == TIM_TRIGGERPOLARITY_INVERTED ) || \
2058 ((__POLARITY__) == TIM_TRIGGERPOLARITY_NONINVERTED) || \
2059 ((__POLARITY__) == TIM_TRIGGERPOLARITY_RISING ) || \
2060 ((__POLARITY__) == TIM_TRIGGERPOLARITY_FALLING ) || \
2061 ((__POLARITY__) == TIM_TRIGGERPOLARITY_BOTHEDGE ))
2063#define IS_TIM_TRIGGERPRESCALER(__PRESCALER__) (((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV1) || \
2064 ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV2) || \
2065 ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV4) || \
2066 ((__PRESCALER__) == TIM_TRIGGERPRESCALER_DIV8))
2068#define IS_TIM_TRIGGERFILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU)
2070#define IS_TIM_TI1SELECTION(__TI1SELECTION__) (((__TI1SELECTION__) == TIM_TI1SELECTION_CH1) || \
2071 ((__TI1SELECTION__) == TIM_TI1SELECTION_XORCOMBINATION))
2073#define IS_TIM_DMA_LENGTH(__LENGTH__) (((__LENGTH__) == TIM_DMABURSTLENGTH_1TRANSFER) || \
2074 ((__LENGTH__) == TIM_DMABURSTLENGTH_2TRANSFERS) || \
2075 ((__LENGTH__) == TIM_DMABURSTLENGTH_3TRANSFERS) || \
2076 ((__LENGTH__) == TIM_DMABURSTLENGTH_4TRANSFERS) || \
2077 ((__LENGTH__) == TIM_DMABURSTLENGTH_5TRANSFERS) || \
2078 ((__LENGTH__) == TIM_DMABURSTLENGTH_6TRANSFERS) || \
2079 ((__LENGTH__) == TIM_DMABURSTLENGTH_7TRANSFERS) || \
2080 ((__LENGTH__) == TIM_DMABURSTLENGTH_8TRANSFERS) || \
2081 ((__LENGTH__) == TIM_DMABURSTLENGTH_9TRANSFERS) || \
2082 ((__LENGTH__) == TIM_DMABURSTLENGTH_10TRANSFERS) || \
2083 ((__LENGTH__) == TIM_DMABURSTLENGTH_11TRANSFERS) || \
2084 ((__LENGTH__) == TIM_DMABURSTLENGTH_12TRANSFERS) || \
2085 ((__LENGTH__) == TIM_DMABURSTLENGTH_13TRANSFERS) || \
2086 ((__LENGTH__) == TIM_DMABURSTLENGTH_14TRANSFERS) || \
2087 ((__LENGTH__) == TIM_DMABURSTLENGTH_15TRANSFERS) || \
2088 ((__LENGTH__) == TIM_DMABURSTLENGTH_16TRANSFERS) || \
2089 ((__LENGTH__) == TIM_DMABURSTLENGTH_17TRANSFERS) || \
2090 ((__LENGTH__) == TIM_DMABURSTLENGTH_18TRANSFERS))
2092#define IS_TIM_DMA_DATA_LENGTH(LENGTH) (((LENGTH) >= 0x1U) && ((LENGTH) < 0x10000U))
2094#define IS_TIM_IC_FILTER(__ICFILTER__) ((__ICFILTER__) <= 0xFU)
2096#define IS_TIM_DEADTIME(__DEADTIME__) ((__DEADTIME__) <= 0xFFU)
2098#define IS_TIM_BREAK_SYSTEM(__CONFIG__) (((__CONFIG__) == TIM_BREAK_SYSTEM_ECC) || \
2099 ((__CONFIG__) == TIM_BREAK_SYSTEM_PVD) || \
2100 ((__CONFIG__) == TIM_BREAK_SYSTEM_SRAM_PARITY_ERROR) || \
2101 ((__CONFIG__) == TIM_BREAK_SYSTEM_LOCKUP))
2103#define IS_TIM_SLAVEMODE_TRIGGER_ENABLED(__TRIGGER__) (((__TRIGGER__) == TIM_SLAVEMODE_TRIGGER) || \
2104 ((__TRIGGER__) == TIM_SLAVEMODE_COMBINED_RESETTRIGGER))
2106#define TIM_SET_ICPRESCALERVALUE(__HANDLE__, __CHANNEL__, __ICPSC__) \
2107 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 |= (__ICPSC__)) :\
2108 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 |= ((__ICPSC__) << 8U)) :\
2109 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 |= (__ICPSC__)) :\
2110 ((__HANDLE__)->Instance->CCMR2 |= ((__ICPSC__) << 8U)))
2112#define TIM_RESET_ICPRESCALERVALUE(__HANDLE__, __CHANNEL__) \
2113 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC) :\
2114 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCMR1 &= ~TIM_CCMR1_IC2PSC) :\
2115 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_IC3PSC) :\
2116 ((__HANDLE__)->Instance->CCMR2 &= ~TIM_CCMR2_IC4PSC))
2118#define TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__) \
2119 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER |= (__POLARITY__)) :\
2120 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER |= ((__POLARITY__) << 4U)) :\
2121 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER |= ((__POLARITY__) << 8U)) :\
2122 ((__HANDLE__)->Instance->CCER |= (((__POLARITY__) << 12U))))
2124#define TIM_RESET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__) \
2125 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP)) :\
2126 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP)) :\
2127 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC3P | TIM_CCER_CC3NP)) :\
2128 ((__HANDLE__)->Instance->CCER &= ~(TIM_CCER_CC4P | TIM_CCER_CC4NP)))
2130#define TIM_CHANNEL_STATE_GET(__HANDLE__, __CHANNEL__)\
2131 (((__CHANNEL__) == TIM_CHANNEL_1) ? (__HANDLE__)->ChannelState[0] :\
2132 ((__CHANNEL__) == TIM_CHANNEL_2) ? (__HANDLE__)->ChannelState[1] :\
2133 ((__CHANNEL__) == TIM_CHANNEL_3) ? (__HANDLE__)->ChannelState[2] :\
2134 ((__CHANNEL__) == TIM_CHANNEL_4) ? (__HANDLE__)->ChannelState[3] :\
2135 ((__CHANNEL__) == TIM_CHANNEL_5) ? (__HANDLE__)->ChannelState[4] :\
2136 (__HANDLE__)->ChannelState[5])
2138#define TIM_CHANNEL_STATE_SET(__HANDLE__, __CHANNEL__, __CHANNEL_STATE__) \
2139 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->ChannelState[0] = (__CHANNEL_STATE__)) :\
2140 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->ChannelState[1] = (__CHANNEL_STATE__)) :\
2141 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->ChannelState[2] = (__CHANNEL_STATE__)) :\
2142 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->ChannelState[3] = (__CHANNEL_STATE__)) :\
2143 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->ChannelState[4] = (__CHANNEL_STATE__)) :\
2144 ((__HANDLE__)->ChannelState[5] = (__CHANNEL_STATE__)))
2146#define TIM_CHANNEL_STATE_SET_ALL(__HANDLE__, __CHANNEL_STATE__)\
2148 (__HANDLE__)->ChannelState[0] = (__CHANNEL_STATE__); \
2149 (__HANDLE__)->ChannelState[1] = (__CHANNEL_STATE__); \
2150 (__HANDLE__)->ChannelState[2] = (__CHANNEL_STATE__); \
2151 (__HANDLE__)->ChannelState[3] = (__CHANNEL_STATE__); \
2152 (__HANDLE__)->ChannelState[4] = (__CHANNEL_STATE__); \
2153 (__HANDLE__)->ChannelState[5] = (__CHANNEL_STATE__); \
2156#define TIM_CHANNEL_N_STATE_GET(__HANDLE__, __CHANNEL__)\
2157 (((__CHANNEL__) == TIM_CHANNEL_1) ? (__HANDLE__)->ChannelNState[0] :\
2158 ((__CHANNEL__) == TIM_CHANNEL_2) ? (__HANDLE__)->ChannelNState[1] :\
2159 ((__CHANNEL__) == TIM_CHANNEL_3) ? (__HANDLE__)->ChannelNState[2] :\
2160 (__HANDLE__)->ChannelNState[3])
2162#define TIM_CHANNEL_N_STATE_SET(__HANDLE__, __CHANNEL__, __CHANNEL_STATE__) \
2163 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->ChannelNState[0] = (__CHANNEL_STATE__)) :\
2164 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->ChannelNState[1] = (__CHANNEL_STATE__)) :\
2165 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->ChannelNState[2] = (__CHANNEL_STATE__)) :\
2166 ((__HANDLE__)->ChannelNState[3] = (__CHANNEL_STATE__)))
2168#define TIM_CHANNEL_N_STATE_SET_ALL(__HANDLE__, __CHANNEL_STATE__)\
2170 (__HANDLE__)->ChannelNState[0] = (__CHANNEL_STATE__); \
2171 (__HANDLE__)->ChannelNState[1] = (__CHANNEL_STATE__); \
2172 (__HANDLE__)->ChannelNState[2] = (__CHANNEL_STATE__); \
2173 (__HANDLE__)->ChannelNState[3] = (__CHANNEL_STATE__); \
2315 uint32_t *pData2, uint16_t Length);
2343 uint32_t OutputChannel, uint32_t InputChannel);
2352 uint32_t BurstRequestSrc,
const uint32_t *BurstBuffer,
2353 uint32_t BurstLength);
2355 uint32_t BurstRequestSrc,
const uint32_t *BurstBuffer,
2356 uint32_t BurstLength, uint32_t DataLength);
2359 uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength);
2361 uint32_t BurstRequestSrc, uint32_t *BurstBuffer,
2362 uint32_t BurstLength, uint32_t DataLength);
2387#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2389 pTIM_CallbackTypeDef pCallback);
2430 uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter);
2438#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
#define __IO
Defines 'read / write' permissions.
struct __DMA_HandleTypeDef DMA_HandleTypeDef
DMA handle Structure definition.
HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(const TIM_HandleTypeDef *htim)
HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(const TIM_HandleTypeDef *htim)
HAL_TIM_ChannelStateTypeDef HAL_TIM_GetChannelState(const TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(const TIM_HandleTypeDef *htim)
HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(const TIM_HandleTypeDef *htim)
HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(const TIM_HandleTypeDef *htim)
HAL_TIM_ActiveChannel HAL_TIM_GetActiveChannel(const TIM_HandleTypeDef *htim)
HAL_TIM_DMABurstStateTypeDef HAL_TIM_DMABurstState(const TIM_HandleTypeDef *htim)
HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(const TIM_HandleTypeDef *htim)
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
TIM_Base MSP De-Initialization This function freeze the hardware resources used in this example.
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, const uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim)
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
TIM_Base MSP Initialization This function configures the hardware resources used in this example.
HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim)
TIM_PWM MSP De-Initialization This function freeze the hardware resources used in this example.
HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
TIM_PWM MSP Initialization This function configures the hardware resources used in this example.
HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode)
void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData1, uint32_t *pData2, uint16_t Length)
HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, const TIM_Encoder_InitTypeDef *sConfig)
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_IC_InitTypeDef *sConfig, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiWriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, const uint32_t *BurstBuffer, uint32_t BurstLength, uint32_t DataLength)
HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, const uint32_t *BurstBuffer, uint32_t BurstLength)
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength)
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc)
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro(TIM_HandleTypeDef *htim, const TIM_SlaveConfigTypeDef *sSlaveConfig)
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro_IT(TIM_HandleTypeDef *htim, const TIM_SlaveConfigTypeDef *sSlaveConfig)
uint32_t HAL_TIM_ReadCapturedValue(const TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress, uint32_t BurstRequestSrc, uint32_t *BurstBuffer, uint32_t BurstLength, uint32_t DataLength)
HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32_t TI1_Selection)
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc)
HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, const TIM_ClockConfigTypeDef *sClockSourceConfig)
HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource)
HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim, const TIM_ClearInputConfigTypeDef *sClearInputConfig, uint32_t Channel)
HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OnePulse_InitTypeDef *sConfig, uint32_t OutputChannel, uint32_t InputChannel)
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_PeriodElapsedHalfCpltCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_IC_CaptureHalfCpltCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_TriggerHalfCpltCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
Period elapsed callback in non blocking mode.
void HAL_TIM_PWM_PulseFinishedHalfCpltCallback(TIM_HandleTypeDef *htim)
HAL_TIM_ChannelStateTypeDef
TIM Channel States definition.
HAL_TIM_DMABurstStateTypeDef
DMA Burst States definition.
HAL_TIM_ActiveChannel
HAL Active channel structures definition.
HAL_TIM_StateTypeDef
HAL State structures definition.
@ HAL_TIM_CHANNEL_STATE_READY
TIM Channel ready for use.
@ HAL_TIM_CHANNEL_STATE_RESET
TIM Channel initial state.
@ HAL_TIM_CHANNEL_STATE_BUSY
An internal process is ongoing on the TIM channel.
@ HAL_DMA_BURST_STATE_BUSY
Ongoing DMA Burst.
@ HAL_DMA_BURST_STATE_READY
DMA Burst ready for use.
@ HAL_DMA_BURST_STATE_RESET
DMA Burst initial state.
@ HAL_TIM_ACTIVE_CHANNEL_1
The active channel is 1.
@ HAL_TIM_ACTIVE_CHANNEL_6
The active channel is 6.
@ HAL_TIM_ACTIVE_CHANNEL_5
The active channel is 5.
@ HAL_TIM_ACTIVE_CHANNEL_CLEARED
All active channels cleared.
@ HAL_TIM_ACTIVE_CHANNEL_4
The active channel is 4.
@ HAL_TIM_ACTIVE_CHANNEL_3
The active channel is 3.
@ HAL_TIM_ACTIVE_CHANNEL_2
The active channel is 2.
@ HAL_TIM_STATE_TIMEOUT
Timeout state.
@ HAL_TIM_STATE_BUSY
An internal process is ongoing.
@ HAL_TIM_STATE_RESET
Peripheral not yet initialized or disabled.
@ HAL_TIM_STATE_ERROR
Reception process is ongoing.
@ HAL_TIM_STATE_READY
Peripheral Initialized and ready for use.
void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler, uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
void TIM_DMACaptureHalfCplt(DMA_HandleTypeDef *hdma)
void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, const TIM_OC_InitTypeDef *OC_Config)
void TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma)
void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState)
void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter)
void TIM_DMADelayPulseHalfCplt(DMA_HandleTypeDef *hdma)
void TIM_DMAError(DMA_HandleTypeDef *hdma)
void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure)
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
HAL_LockTypeDef
HAL Lock structures definition.
Header file of TIM HAL Extended module.
TIM Time base Configuration Structure definition.
uint32_t CounterMode
Specifies the counter mode.
uint32_t AutoReloadPreload
Specifies the auto-reload preload.
uint32_t Period
Specifies the period value to be loaded into the active Auto-Reload Register at the next update event...
uint32_t RepetitionCounter
Specifies the repetition counter value.
uint32_t ClockDivision
Specifies the clock division.
uint32_t Prescaler
Specifies the prescaler value used to divide the TIM clock.
TIM Break input(s) and Dead time configuration Structure definition.
uint32_t Break2Filter
TIM break2 input filter.This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF.
uint32_t OffStateIDLEMode
TIM off state in IDLE mode, This parameter can be a value of TIM OSSI OffState Selection for Idle mod...
uint32_t DeadTime
TIM dead Time, This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF.
uint32_t OffStateRunMode
TIM off state in run mode, This parameter can be a value of TIM OSSR OffState Selection for Run mode ...
uint32_t BreakState
TIM Break State, This parameter can be a value of TIM Break Input Enable.
uint32_t BreakFilter
Specifies the break input filter.This parameter can be a number between Min_Data = 0x0 and Max_Data =...
uint32_t LockLevel
TIM Lock level, This parameter can be a value of TIM Lock level.
uint32_t Break2State
TIM Break2 State, This parameter can be a value of TIM Break input 2 Enable.
uint32_t BreakPolarity
TIM Break input polarity, This parameter can be a value of TIM Break Input Polarity.
uint32_t AutomaticOutput
TIM Automatic Output Enable state, This parameter can be a value of TIM Automatic Output Enable.
uint32_t Break2Polarity
TIM Break2 input polarity, This parameter can be a value of TIM Break Input 2 Polarity.
Clock Configuration Handle Structure definition.
uint32_t ClockSource
TIM clock sources This parameter can be a value of TIM Clock Source.
uint32_t ClockPolarity
TIM clock polarity This parameter can be a value of TIM Clock Polarity.
uint32_t ClockFilter
TIM clock filter This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF.
uint32_t ClockPrescaler
TIM clock prescaler This parameter can be a value of TIM Clock Prescaler.
TIM Encoder Configuration Structure definition.
uint32_t IC2Filter
Specifies the input capture filter.
uint32_t IC1Polarity
Specifies the active edge of the input signal.
uint32_t IC1Filter
Specifies the input capture filter.
uint32_t IC1Prescaler
Specifies the Input Capture Prescaler.
uint32_t IC2Selection
Specifies the input.
uint32_t IC1Selection
Specifies the input.
uint32_t EncoderMode
Specifies the active edge of the input signal.
uint32_t IC2Polarity
Specifies the active edge of the input signal.
uint32_t IC2Prescaler
Specifies the Input Capture Prescaler.
TIM Time Base Handle Structure definition.
DMA_HandleTypeDef * hdma[7]
DMA Handlers array This array is accessed by a TIM DMA Handle Index.
HAL_LockTypeDef Lock
Locking object.
__IO HAL_TIM_StateTypeDef State
TIM operation state.
TIM_Base_InitTypeDef Init
TIM Time Base required parameters.
__IO HAL_TIM_ChannelStateTypeDef ChannelState[6]
TIM channel operation state.
__IO HAL_TIM_DMABurstStateTypeDef DMABurstState
DMA burst operation state.
__IO HAL_TIM_ChannelStateTypeDef ChannelNState[4]
TIM complementary channel operation state.
TIM_TypeDef * Instance
Register base address.
HAL_TIM_ActiveChannel Channel
Active channel.
TIM Input Capture Configuration Structure definition.
uint32_t ICPrescaler
Specifies the Input Capture Prescaler.
uint32_t ICSelection
Specifies the input.
uint32_t ICPolarity
Specifies the active edge of the input signal.
uint32_t ICFilter
Specifies the input capture filter.
TIM Master configuration Structure definition.
uint32_t MasterSlaveMode
Master/slave mode selection This parameter can be a value of TIM Master/Slave Mode.
uint32_t MasterOutputTrigger2
Trigger output2 (TRGO2) selection This parameter can be a value of TIM Master Mode Selection 2 (TRGO2...
uint32_t MasterOutputTrigger
Trigger output (TRGO) selection This parameter can be a value of TIM Master Mode Selection.
TIM Output Compare Configuration Structure definition.
uint32_t OCNIdleState
Specifies the TIM Output Compare pin state during Idle state.
uint32_t OCNPolarity
Specifies the complementary output polarity.
uint32_t OCFastMode
Specifies the Fast mode state.
uint32_t OCPolarity
Specifies the output polarity.
uint32_t Pulse
Specifies the pulse value to be loaded into the Capture Compare Register.
uint32_t OCIdleState
Specifies the TIM Output Compare pin state during Idle state.
uint32_t OCMode
Specifies the TIM mode.
TIM One Pulse Mode Configuration Structure definition.
uint32_t OCNPolarity
Specifies the complementary output polarity.
uint32_t OCPolarity
Specifies the output polarity.
uint32_t OCNIdleState
Specifies the TIM Output Compare pin state during Idle state.
uint32_t Pulse
Specifies the pulse value to be loaded into the Capture Compare Register.
uint32_t ICPolarity
Specifies the active edge of the input signal.
uint32_t ICFilter
Specifies the input capture filter.
uint32_t ICSelection
Specifies the input.
uint32_t OCIdleState
Specifies the TIM Output Compare pin state during Idle state.
uint32_t OCMode
Specifies the TIM mode.
TIM Slave configuration Structure definition.
uint32_t TriggerFilter
Input trigger filter This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF.
uint32_t SlaveMode
Slave mode selection This parameter can be a value of TIM Slave mode.
uint32_t TriggerPrescaler
Input trigger prescaler This parameter can be a value of TIM Trigger Prescaler.
uint32_t InputTrigger
Input Trigger source This parameter can be a value of TIM Trigger Selection.
uint32_t TriggerPolarity
Input Trigger polarity This parameter can be a value of TIM Trigger Polarity.