逍遥派掌门人 发表于 2024-5-17 15:38:18

IO设置的奇怪问题,大伙给个建议 | 已解决

问个问题:
STC8H的端口,设置内部上拉电阻,
当IO模式设置开漏时,将IO置1,测量该IO的电压为 2.4V;
当IO模式设置准双向时,将IO置1,测量该IO的电压为 4.8V;
=====================================
这是什么原因,导致将IO置1后产生的电压不同?

神农鼎 发表于 2024-5-19 18:59:09

STC8H 系列,
I/O 浮空外部不接任何电路/也有对地的分布电容
将I/O设置为开漏模式,打开内部4K 上拉电阻,
等1个mS后,再读外部状态,
拉高也是要时间的,外面有对地的分布电容:
就相当于外部上电时加了上拉电阻 !!!
外部上拉电阻,MCU 上电的漫长时间,几十mS
外面那个对地的分布电容已拉高了 !!!!
===这个要懂

其他现象都是自己错在哪,自己不知道,别人也没碰到







I/O 口在 PCB上有到地的分布电容
打开上拉电阻拉高的时间:
0.7RC ?

电子DIY小家 发表于 2024-5-17 16:02:00

IO口有外接负载吗

逍遥派掌门人 发表于 2024-5-17 16:10:23

没有负载,就是光溜溜的一个脚

逍遥派掌门人 发表于 2024-5-17 16:14:48

        P0PU = 0xFF;      接上拉电阻
===============================                               
        P0M0 = 0x00;      准双向
        P0M1 = 0x00;
------------------------------
P01 为 电压 4.8V

        P0M0 = 0xFF;       开漏
        P0M1 = 0xFF;
------------------------------
P01为 电压 2.4V

为啥?

_奶咖君_ 发表于 2024-5-17 16:23:09

开漏的模式下 IO没有上拉能力,,
如果你输出0的话 会测出来0V
如果你输出1 则看外部电平,此时这个引脚近似高阻,而这个引脚又是光溜溜,,那么电压就是一个虚的电压

逍遥派掌门人 发表于 2024-5-17 16:32:56

本帖最后由 逍遥派掌门人 于 2024-5-17 16:34 编辑

_奶咖君_ 发表于 2024-5-17 16:23
开漏的模式下 IO没有上拉能力,,
如果你输出0的话 会测出来0V
如果你输出1 则看外部电平,此时这个引脚 ...
设置内部上拉电阻:

P0PU = 0xFF;      接上拉电阻


电压应该是确定的吧?

逍遥派掌门人 发表于 2024-5-17 16:45:37

本帖最后由 逍遥派掌门人 于 2024-5-17 16:48 编辑

是不是这个原因?
也就是说,开漏模式下,内部电阻是断开的,不连接,对吧?
内部的上拉电阻好像没有什么意义啊

逍遥派掌门人 发表于 2024-5-17 17:04:28

实际检测,高阻输入的模式,内部上拉电阻也是自行断开的。
而推挽是不必要用的。
理论上剩下只有准双向能用,经实际检测,不论是否连接内部上拉电阻,电压都是一样的。

是不是可以说:内部上拉电阻是无法使用的,连接内部电阻是假的?

xiangzichen 发表于 2024-5-17 17:05:13

开漏输出属于不稳定状态,通过外部的上拉下拉电阻决定状态,如果一个三极管,E接地,你B接高低电平对C的状态改变是不确定的.

_奶咖君_ 发表于 2024-5-17 17:37:05

本帖最后由 _奶咖君_ 于 2024-5-17 17:38 编辑

逍遥派掌门人 发表于 2024-5-17 17:04
实际检测,高阻输入的模式,内部上拉电阻也是自行断开的。
而推挽是不必要用的。
理论上剩下只有准双向能用 ...
有一个问题,,你正确配置了么?

或者你用的单片机有这个功能么
页: [1] 2 3
查看完整版本: IO设置的奇怪问题,大伙给个建议 | 已解决