[技术问答] M051 GPIO输出高电平但实际测量电压偏低

[复制链接]
27|4
M051 GPIO输出高电平但实际测量电压偏低,怎么回事
小岛西岸来信 发表于 2026-4-24 14:46 | 显示全部楼层
M051 GPIO 输出高电平电压偏低,常见原因:引脚被设为开漏输出且无上拉、外部电路负载过重、引脚复用为外设功能、电源电压偏低、IO 口钳位在保护状态。先设为推挽输出,关闭复用,检查外部电路,测量 VDD 是否正常,减轻灌 / 拉电流,即可恢复正常高电平。
cr315 发表于 2026-4-10 15:47 | 显示全部楼层
先测VDD电压,再断开负载测空载电压,然后确认IO模式是推挽输出,最后用示波器看波形,按这个顺序一步步排查就能找到问题。
classroom 发表于 2026-4-10 16:48 | 显示全部楼层
先检查GPIO模式配置,M051的IO默认是准双向模式,拉电流能力很弱只有几十微安,驱动LED或小负载时电压会被拉低,需要改成推挽输出模式
duo点 发表于 2026-4-10 16:48 | 显示全部楼层
测量时用示波器而不是万用表,万用表测的是平均值,如果输出的是PWM波形,万用表读数会偏低
flycamelaaa 发表于 2026-4-10 17:49 | 显示全部楼层
检查外部电路负载,推挽模式下IO能输出几毫安到20mA的电流,但如果负载电阻太小,输出电压仍然会被拉低
jcky001 发表于 2026-4-10 18:49 | 显示全部楼层
M051的IO输出电压最高不会超过VDD供电电压,检查一下VDD引脚实际电压是不是偏低
onlycook 发表于 2026-4-10 18:49 | 显示全部楼层
断开外部电路单独测试IO口,如果空载时电压正常,说明问题出在外部电路负载过大或电平冲突
powerantone 发表于 2026-4-10 19:50 | 显示全部楼层
有些IO口默认复用其他功能,需要先在寄存器里关闭复用功能才能正常当作GPIO使用
probedog 发表于 2026-4-10 20:50 | 显示全部楼层
准双向模式下输出高电平前需要先把引脚寄存器写1,否则无法正确输出高电平
solty 发表于 2026-4-10 22:51 | 显示全部楼层
检查IO口有没有被配置成开漏模式,开漏模式下高电平靠内部弱上拉提供,电压会偏低,需要外接上拉电阻
spicy 发表于 2026-4-10 16:22 | 显示全部楼层
用示波器看波形时注意耦合方式,选了交流耦合的话直流分量会被滤掉,读出来的电压会比实际低
stormwind123 发表于 2026-4-10 17:22 | 显示全部楼层
多个IO口同时输出高电平时,芯片的总电流有限制,总电流超限会导致每个IO口的输出电压都下降。
七毛钱 发表于 2026-4-10 18:23 | 显示全部楼层
检查引脚外部有没有接下拉电阻,如果接了分压电路,高电平会被电阻拉低。
今天会画卧蚕吗 发表于 2026-4-10 19:19 | 显示全部楼层
M051复位后IO默认是准双向模式,如果代码里没主动配置成推挽输出,就会一直保持弱上拉状态
内政奇才 发表于 2026-4-10 20:18 | 显示全部楼层
检查VDD引脚旁边的去耦电容是否安装,去耦电容缺失会导致供电不稳,IO输出电压也会波动。
又见江南雨 发表于 2026-4-10 21:22 | 显示全部楼层
如果IO口同时有ADC功能,即使配置成普通GPIO,内部模拟电路仍可能受输入电压影响,导致输出异常
在海边聆听 发表于 2026-4-10 22:25 | 显示全部楼层
推挽模式下输出高电平,拉电流能力可以达到20mA左右,但输出电流越大输出电压越低,这是MOSFET的固有特性
才没有脸红 发表于 2026-4-10 22:15 | 显示全部楼层
检查是否有大于VDD的电压通过其他引脚倒灌进芯片,倒灌电流会抬高芯片内部电压,影响IO输出
故里说长安 发表于 2026-4-11 11:56 | 显示全部楼层
如果芯片供电是3.3V,IO输出高电平理论上最高就是3.3V,测量出2.8V到3.3V之间都算正常,低于2.5V才需要排查
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

780

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0