打印
[MM32硬件]

MM32F0020 GPIO读取出错

[复制链接]
972|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jjl3|  楼主 | 2025-7-13 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在程序中用如下语句读取PA0上的数据,GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0), 用万用表测量此时电平为2.6VDC, 用示波器看是很稳定的固定电平,没看到有毛刺之类的,问题是这个引脚会时不时读到0, 真是很奇怪,需要多读几次再判断。
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_0 | GPIO_Pin_13;   
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_FLOATING;                            // Floating input
    GPIO_Init(GPIOA, &GPIO_InitStruct);
这个引脚和PA13都配置成floating,发现PA13也有类似的情况发生,PA13上的电平不高于0.5V,但也有时会读出1.
不知道为什么?

使用特权

评论回复
沙发
stormwind123| | 2025-7-31 14:27 | 只看该作者
这是浮空输入的固有缺陷。

使用特权

评论回复
板凳
probedog| | 2025-7-31 14:28 | 只看该作者
无上拉/下拉电阻导致的?

使用特权

评论回复
地板
powerantone| | 2025-7-31 14:30 | 只看该作者
建议添加上拉/下拉电阻。

使用特权

评论回复
5
cr315| | 2025-7-31 14:31 | 只看该作者
多次采样滤波。

使用特权

评论回复
6
elephant00| | 2025-7-31 14:32 | 只看该作者
启用内部弱上拉/下拉若支持。

使用特权

评论回复
7
duo点| | 2025-7-31 14:32 | 只看该作者
GPIOA的时钟是否已使能

使用特权

评论回复
8
duo点| | 2025-7-31 14:32 | 只看该作者
复位后寄存器是否已正确配置?

使用特权

评论回复
9
flycamelaaa| | 2025-7-31 14:59 | 只看该作者
采样时机不当,若在干扰脉冲到达时采样,即使概率很低,也会导致误读。

使用特权

评论回复
10
probedog| | 2025-7-31 15:28 | 只看该作者
万用表测量稳定但程序误读,说明干扰信号可能为短时脉冲,或MCU内部采样窗口与干扰时序重叠。

使用特权

评论回复
11
jcky001| | 2025-7-31 15:31 | 只看该作者
缩短GPIO走线,远离高频信号。

使用特权

评论回复
12
classroom| | 2025-7-31 16:29 | 只看该作者
可能是长走线或邻近高噪声源。

使用特权

评论回复
13
onlycook| | 2025-7-31 16:33 | 只看该作者
MCU供电不稳?

使用特权

评论回复
14
七毛钱| | 2025-7-31 16:46 | 只看该作者
引脚复用冲突?

使用特权

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

本版积分规则

46

主题

271

帖子

2

粉丝