天嵌 ARM开发社区

 找回密码
 注册
查看: 2631|回复: 3

端口上拉寄存器

[复制链接]
FehinW 发表于 2012-3-3 15:12:57 | 显示全部楼层 |阅读模式
S3C2440A用户手册中有关端口上拉寄存器的描述是这样的:端口上拉寄存器控制每个端口组上拉电阻的使能/禁止,置位1则禁止上拉电阻,置位0则使能上拉电阻。小弟我着实不知道如何判断是否要上拉上拉电阻,网上搜了一大推,解释基本上都是基于电子电路方面的(或许),始终不得其解(注:软工专业),晕晕乎~~。想请各位朋友帮忙解析下什么时候要使能上拉电阻,在此先谢谢各位啦~~:P
陈世超 发表于 2012-3-3 16:42:48 | 显示全部楼层
上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用.
回复

使用道具 举报

 楼主| FehinW 发表于 2012-3-3 18:45:26 | 显示全部楼层
陈世超 发表于 2012-3-3 16:42
上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用.


能不能详细点嘞,按你说的:上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用。那么怎么知道信号不确定呢。我觉得还是举例比较好啦。
示例1:流水灯实验
/****************************************************
/* 函数名:                Led_Init
/* 参数:                        无
/* 返回值:                无
/* 函数功能:                初始化流水灯
/****************************************************
/* LED接口电路(点亮某一LED,则控制相应引脚为低即可)
/* LED1----GPB5
/* LED2----GPB6
/* LED3----GPB7
/* LED4----GPB8
****************************************************/
void Led_Init(void)
{
        rGPBCON &= ~((3 << 10) | (3 << 12) | (1 << 14) | (1 << 16));
        rGPBCON |= (1<<10) | (1 << 12) | (1 << 14) | (1 << 16) ; // 设置GPB[5]~BPG[8]为输出
        
        rGPBUP &=  ~((1 << 5) | (1 << 6) | (1 << 7) | (1 << 8));  // 使能GPB[5]~BPG[8]上拉电阻  ******Why******
        
        rGPBDAT |= (1 <<5) | (1 << 6) | (1 << 7) | (1 << 8);           // 初始时,关闭LED
}
为什么要使能GPB[5]~BPG[8]上拉电阻呢??再延伸一下,什么时候要使能上拉电阻呢??
回复

使用道具 举报

 楼主| FehinW 发表于 2012-3-4 12:22:11 | 显示全部楼层
没人回答:'(
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-8-3 10:35 , Processed in 2.039448 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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