typedefstruct { etmr_clock_source_t etmrClockSource; /*!< Clock source used by eTMR counter 使用的时钟源 */ uint32_t etmrSourceClockFrequency; /*!< The clock frequency is used for counting 时钟频率 */ etmr_channel_state_t etmrChnMode[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Mode of operation for eTMR 使用的操作模式*/ uint32_t etmrPeriod; /*!< This field is used only in PWM mode to store signal period PWM周期值,仅在PWM模式下有效 */ uint32_t etmrModValue; /*!< This field is used only in input capture mode to store MOD value */ etmr_pwm_update_option_t typeOfUpdate[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Type of update for PWM update */ etmr_pwm_align_mode_t alignMode[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Align mode of PWM update */ uint32_t dutyCycle[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Duty cycle of PWM update */ uint32_t offset[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Offset of pulse for asymmetric mode */ etmr_ic_measurement_type_t measurementType[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Measurement type */ etmr_ic_capture_edge_t captureEdge[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Input capture edge */ uint8_t icOvfCnt[FEATURE_eTMR_CHANNEL_MAX_COUNT][CAPTURE_COUNT]; /*!< eTMR channel capture overflow count */ uint8_t icOvfCntTemp; /*!< eTMR overflow count */ uint8_t icCnt[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Count of enter into input capture interrupt */ uint8_t icCapPol[FEATURE_eTMR_CHANNEL_MAX_COUNT][CAPTURE_COUNT]; /*!< eTMR channel capture polarity */ uint32_t icCntVal[FEATURE_eTMR_CHANNEL_MAX_COUNT][CAPTURE_COUNT]; /*!< eTMR channel capture value */ uint32_t measurementPeriod[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Store period */ uint32_t measurementPosPulseCnt[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Positive pulse count value */ uint32_t measurementNegPulseCnt[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Negative pulse count value */ uint32_t measurementCapCnt[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< Store capture value */ bool measurementComplete[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< eTMR input capture measurement complete signal */ void *channelsCallbacksParams[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< The parameters of callback function 回调函数参数*/ ic_callback_t channelsCallbacks[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< The callback function 回调函数*/ bool enableNotification[FEATURE_eTMR_CHANNEL_MAX_COUNT]; /*!< The notification on the callback application 回调通知标志*/ } etmr_state_t;