STM32G474 HRTIM 推挽模式下 关闭死区 在比较寄存器较小的情况下,存在输出脉宽直接到100%以下为初始化代码 LL_HRTIM_ConfigADCTrig(HRTIM1, LL_HRTIM_ADCTRIG_1, LL_HRTIM_ADCTRIG_UPDATE_TIMER_E, LL_HRTIM_ADCTRIG_SRC13_TIMEPER); LL_HRTIM_SetADCPostScaler(HRTIM1, LL_HRTIM_ADCTRIG_1, 0); LL_HRTIM_TIM_SetPrescaler(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_PRESCALERRATIO_MUL32); LL_HRTIM_TIM_SetCounterMode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_MODE_CONTINUOUS); LL_HRTIM_TIM_SetPeriod(HRTIM1, LL_HRTIM_TIMER_E, TIMD_PERIOD); LL_HRTIM_TIM_SetRepetition(HRTIM1, LL_HRTIM_TIMER_E, 0x00); LL_HRTIM_TIM_SetUpdateGating(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_UPDATEGATING_INDEPENDENT); LL_HRTIM_TIM_SetCountingMode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_COUNTING_MODE_UP); LL_HRTIM_TIM_SetTriggeredHalfMode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_TRIGHALF_DISABLED); LL_HRTIM_TIM_SetComp1Mode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_GTCMP1_GREATER); LL_HRTIM_TIM_SetDACTrig(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_DACTRIG_NONE); LL_HRTIM_TIM_DisableHalfMode(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_SetInterleavedMode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_INTERLEAVED_MODE_DISABLED); LL_HRTIM_TIM_DisableStartOnSync(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_DisableResetOnSync(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_UPDATETRIG_NONE|LL_HRTIM_UPDATETRIG_NONE); LL_HRTIM_TIM_SetResetTrig(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_RESETTRIG_NONE); LL_HRTIM_TIM_EnablePushPullMode(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_DisableDeadTime(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_SetBurstModeOption(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_BURSTMODE_MAINTAINCLOCK); LL_HRTIM_ForceUpdate(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_DisableResyncUpdate(HRTIM1, LL_HRTIM_TIMER_E); LL_HRTIM_TIM_SetCompare1(HRTIM1, LL_HRTIM_TIMER_E, TIMD_PERIOD TIMD_DUTY_CYCLE); LL_HRTIM_TIM_SetCompareMode(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_COMPAREUNIT_2, LL_HRTIM_COMPAREMODE_REGULAR); LL_HRTIM_TIM_SetCompare2(HRTIM1, LL_HRTIM_TIMER_E, TIMD_PERIOD TIMD_DUTY_VSEN); LL_HRTIM_OUT_SetPolarity(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUT_POSITIVE_POLARITY); LL_HRTIM_OUT_SetOutputSetSrc(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUTPUTSET_TIMPER); LL_HRTIM_OUT_SetOutputResetSrc(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUTPUTRESET_TIMCMP1); LL_HRTIM_OUT_SetIdleMode(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUT_NO_IDLE); LL_HRTIM_OUT_SetIdleLevel(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUT_IDLELEVEL_INACTIVE); LL_HRTIM_OUT_SetFaultState(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUT_FAULTSTATE_NO_ACTION); LL_HRTIM_OUT_SetChopperMode(HRTIM1, LL_HRTIM_OUTPUT_TE1, LL_HRTIM_OUT_CHOPPERMODE_DISABLED); LL_HRTIM_OUT_SetPolarity(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUT_POSITIVE_POLARITY); LL_HRTIM_OUT_SetOutputSetSrc(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUTPUTSET_TIMPER); LL_HRTIM_OUT_SetOutputResetSrc(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUTPUTRESET_TIMCMP1); LL_HRTIM_OUT_SetIdleMode(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUT_NO_IDLE); LL_HRTIM_OUT_SetIdleLevel(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUT_IDLELEVEL_INACTIVE); LL_HRTIM_OUT_SetFaultState(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUT_FAULTSTATE_NO_ACTION); LL_HRTIM_OUT_SetChopperMode(HRTIM1, LL_HRTIM_OUTPUT_TE2, LL_HRTIM_OUT_CHOPPERMODE_DISABLED); LL_HRTIM_TIM_SetUpdateTrig(HRTIM1, LL_HRTIM_TIMER_E, LL_HRTIM_UPDATETRIG_RESET); LL_HRTIM_TIM_EnablePreload(HRTIM1, LL_HRTIM_TIMER_E); 下图为设置比较寄存器为0X05的输出波形,两个通道直接满占空输出 |
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STSPIN32G4 STM32G431VBTx CAN FIFO发送数据帧随机变远程帧
STM32G473,PA3导致定时器定时误差过大
请问 使用MC SDK6.4版本,芯片选的时STM32G431CBUx系列,再配置电流采样时候,选择片内运放,外部增益网络,为啥会报错呀
定时器输出PWM控制电机的问题
求simulink开发STM32的支持包离线版本
stm32u575 gpdma burst length=1 配置其他数值不工作
stm32 can偶现导致其他设备发送数据异常
TIM 单脉冲输出后的电平如何设置?
MCSDK6.4开环能转,速度环一动不动
微信公众号
手机版
STM32高精度定时器PWM输出话题