[GD32E231 DIY大赛] 03. 忽视运放设置会导致PB1输出电压不正确
这里给大家分享一下我遇到的坑,希望大家不要再陷入我这个问题中。
我PWM输出,使用到PB1,但是PB1输出的幅度却一直为2V,我寻思着数字电路,不可能输出是2V? 然后,检查了定时器,是没有问题的。
因此,就又看了看GD32E231的数据手册,这才发现了问题可能与OPA有关,PB1是和OUTB是复用的。
看图说话:
所以,我们在使用PB1口前,必须将ENAB置0,也就是板子上PB2输出0.
代码如下:
- /* configure PB2 output 0 */
- gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_2);
- gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_2);
- gpio_bit_reset(GPIOB, GPIO_PIN_2);//disable opa, ENA is connected to PB2, ENA = 0, diable opa, else, enable ENA, NOT be float
复制代码
增添上述代码后,PB1输出幅度回到3.3V正常状态。
参考文献:
本文来自论坛,点击查看完整帖子内容。