找回密码
 立即注册
查看: 988|回复: 5

读手册时的疑惑——使能内部上拉电阻

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:161
  • 最近打卡:2025-06-17 11:21:43

13

主题

65

回帖

710

积分

高级会员

积分
710
发表于 2023-7-26 08:07:45 | 显示全部楼层 |阅读模式
读手册时的疑惑——使能内部上拉电阻-1.png

注释说读端口前先使能内部上拉电阻,应该是配置P0PU寄存器吧?????????


本帖被以下淘专辑推荐:

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:447
  • 最近打卡:2025-06-19 15:15:10
已绑定手机

40

主题

2064

回帖

7107

积分

论坛元老

积分
7107
发表于 2023-7-26 09:09:05 | 显示全部楼层
这里的弱上拉不是指内部4.1K的上拉电阻,而是指准双向模块的内部等效上拉结构:

1.png

回复 支持 反对

使用道具 举报 送花

11

主题

340

回帖

939

积分

荣誉版主

积分
939
发表于 2023-7-26 13:23:52 来自手机 | 显示全部楼层
本帖最后由 熊仔 于 2023-7-26 13:25 编辑

双向模式,弱上拉。
如果对IO输出为0。P00=0;
然后读取这个IO。即便外面的微弱的高电平,这时候都会被拉低。
value=P00;
结果是0

所以这个时候呢,要想读正确,必须使能弱上拉电阻。也就是对IO口写1操作。
P00=1;
value=P00;
这个时候读到的值才是IO口真正的电平。

这也是有些书本写的,51单片机IO读之前要写1操作。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:263
  • 最近打卡:2025-04-03 13:38:29

10

主题

52

回帖

1356

积分

金牌会员

积分
1356
发表于 2023-9-5 16:24:35 | 显示全部楼层
本帖最后由 清风迎明月 于 2023-9-5 16:33 编辑

端口写0,见图1,会使Q4导通,不管管脚上是0还是1,都会把管脚电平拉低成0,读入数据出错。

端口写1,见图2,会使Q4截止,极弱上拉导通,给管脚提供VCC,管脚本身是高电平,弱上拉Q3参与导通,则读入1;管脚本身是低电平,弱上拉Q3截止,会拉低极弱管的输出,读进去就为0.

图片

图片
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:161
  • 最近打卡:2025-06-17 11:21:43

13

主题

65

回帖

710

积分

高级会员

积分
710
发表于 2023-9-5 16:41:49 | 显示全部楼层
清风*** 发表于 2023-9-5 16:24
端口写0,见图1,会使Q4导通,不管管脚上是0还是1,都会把管脚电平拉低成0,读入数据出错。

端口写1,见图 ...

厉害厉害
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-06-20 08:25:00

46

主题

390

回帖

1744

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1744
发表于 2023-11-30 19:47:39 | 显示全部楼层
这个注释容易引起误解,读取端口前先是端口输出为1,这样才能正确读取到端口,如果是输出为0,那么即使外部是高电平,你读到的也是低电平。
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-20 09:44 , Processed in 0.208756 second(s), 89 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表