16回答

0收藏

[求助] 为什么我断开连接之后,LED灯还会亮十几秒之后再灭啊?

英飞凌 英飞凌 7352 人阅读 | 16 人回复 | 2013-03-21

一直都是用引脚输出,没用过输入,刚才就随手写了一个小程序,想试一试输入引脚的用法,
思路是Pin1输出高, Pin2不断检测,检测到高时(当我用线连起来Pin1和Pin2时),LED亮灯。检测不到高时,LED灭。
输出用的是 强输出 模式,输入用的是 高阻数字 模式
程序如下:
#include <device.h>
void main()
{ uint8 led = 0x01;
Pin_1_Write(led);
    for(;;)
    {
  if(Pin_2_Read())
   {led=0x01;}
  else
   {led=0x00;}
  LED_Write(led);
    }
}
结果实际情况是
刚开始灯不亮,我把Pin1和Pin2连起来了之后,灯亮,再然后,我把线拆去,灯不灭 !大概还会亮个13s 左右才灭。
从我拔线到灯灭,每次都是 13秒左右 (我用表测的)

不明白。。这是为什么啊?



另外,还想问一下,一个引脚,我又想让它做输出引脚,又想让它做输入引脚,该怎么设置啊?(就是想反转法做矩阵键盘)
是选择bidirection么?

试了一下,感觉不对啊。。。



求教!


分享到:
回复

使用道具 举报

回答|共 16 个

倒序浏览

沙发

tao475824827

发表于 2013-3-21 20:47:11 | 只看该作者

大家有什么想法都可以说一下。。。我都试试。。。

实在不明白、、
板凳

小马哈

发表于 2013-3-21 20:48:05 | 只看该作者

pSoC啊,搞不懂啊。
地板

tao475824827

发表于 2013-3-21 20:51:41 | 只看该作者

zxq6 发表于 2013-3-21 20:48
pSoC啊,搞不懂啊。

我也是新学。。。老是遇到问题。。
5#

mcp2013

发表于 2013-3-21 22:03:11 | 只看该作者

不明白、、   
6#

shamowangzi

发表于 2013-3-22 00:44:17 | 只看该作者

应该是哪个地方有大电容的原因吧?
7#

tao475824827

发表于 2013-3-22 08:08:22 | 只看该作者

shamowangzi 发表于 2013-3-22 00:44
应该是哪个地方有大电容的原因吧?


我当初也是这么感觉的。。我就多试了几次,每次把引脚分配给不同的 脚,还是这样、、

我用万用表测,一拔线,明明电压立刻就降下来了,可是灯就是不灭啊
8#

tao475824827

发表于 2013-3-22 10:31:51 | 只看该作者

ht868788 发表于 2013-3-22 09:48
照你的描述,led应该是接地,拔线后你这灯是渐灭的不?可能和GPIO的8种使用模式有关
还有感觉你这个程序里 ...

不是渐灭的、、、拔线之后灯暗了一点(没有不拔线的时候那么亮),
然后到了十三秒左右的时候就突然灭了。。

还有手都不能碰线、、(不是裸线)
一摸线,灯就亮了,,,,搞不懂,,难道是线放久了、、绝缘胶皮都坏了?



我是用线连接的。。把Pin1口和pin2口用导线连在一起了。。。这样是不是不行啊?。。。


9#

tao475824827

发表于 2013-3-22 10:42:12 | 只看该作者

ht868788 发表于 2013-3-22 09:48
照你的描述,led应该是接地,拔线后你这灯是渐灭的不?可能和GPIO的8种使用模式有关
还有感觉你这个程序里 ...

我把Pin2的模式改成下拉问题就解决了~~

可是我想用pin2做双向口,就是一会输入,一会输出,这样一直设置成下拉也可以么?
10#

tao475824827

发表于 2013-3-22 21:13:26 | 只看该作者

ht868788 发表于 2013-3-22 18:12
下拉?《8051片上可编程系统原理与应用》P78页中段有一句话:
“实际的I/O引脚电压是由所选择的驱动模式和 ...

感觉pin的8个模式我都不太懂、、、、所以每次选的时候都很迷茫、、、

8051那本书上感觉说的也不是很详细这一部分、、
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条