打印

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

[复制链接]
871|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
郭鑫洋|  楼主 | 2025-7-23 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用的是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

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝