问答

汇集网友智慧,解决技术难题

郭鑫洋

TA的家园币:10  

  • E503R,根据捕获的PWMA产生PWMB,发现AB相位差过大

    使用的是GD32E503R,PB10引脚对应timer1_CH2,用于捕获外部PWM信号A的上升沿和下降沿;待捕获信号是50%占空比的200KHZ的PWM信号A;PA8,对应的SHRTIMER_ST0CH0,用于产生PWM信号B;。目标是PB10捕获到上升沿、下降沿,PA8产生的PWM信号翻转一次电平。现在B不能准确跟随A,相位差过大。PA8的PWM.C配置是outcfg_para.set_request=SHRTIMER_CHANNEL_SET_NONE;outcfg_para.reset_request=SHRTIMER_CHANNEL_RESET_NONE;PB10的CAP.C,中断函数中,if(fanzhuan==0){shrtimer_slavetimer_waveform_channel_software_request(SHRTIMER0,SHRTIMER_SLAVE_TIMER0,SHRTIMER_ST0_CH0,SHRTIMER_CHANNEL_SOFTWARE_SET);fanzhuan=1;}else{shrtimer_slavetimer_waveform_channel_software_request(SHRTIMER0,SHRTIMER_SLAVE_TIMER0,SHRTIMER_ST0_CH0,SHRTIMER_CHANNEL_SOFTWARE_RESET);fanzhuan=0;};Q420471259

    单片机 AB mb 相位差 PWM ma

    2025-07-23 0