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 static/image/common/back.gif
上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用.


能不能详细点嘞,按你说的:上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用。那么怎么知道信号不确定呢。我觉得还是举例比较好啦。
示例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~BPG为输出
      
      rGPBUP &=~((1 << 5) | (1 << 6) | (1 << 7) | (1 << 8));// 使能GPB~BPG上拉电阻******Why******
      
      rGPBDAT |= (1 <<5) | (1 << 6) | (1 << 7) | (1 << 8);         // 初始时,关闭LED
}
为什么要使能GPB~BPG上拉电阻呢??再延伸一下,什么时候要使能上拉电阻呢??

FehinW 发表于 2012-3-4 12:22:11

没人回答:'(
页: [1]
查看完整版本: 端口上拉寄存器