天嵌 ARM开发社区

 找回密码
 注册
查看: 2359|回复: 4

GPIO口输入配置问题

[复制链接]
TIAN-咫尺天涯 发表于 2013-11-15 16:04:30 | 显示全部楼层 |阅读模式
应用TQ2440进行外部开关量的读入操作,GPIO口的寄存器需要进行怎样的配置?为什么进行相关配置后,检测不到外部输入的高低电平?求帮助!!谢谢!!
wanlijunjun 发表于 2013-11-15 16:15:41 | 显示全部楼层
你把你的配置列出来看看
 楼主| TIAN-咫尺天涯 发表于 2013-11-15 18:53:38 | 显示全部楼层
wanlijunjun 发表于 2013-11-15 16:15
你把你的配置列出来看看

好的,谢谢你的回复。我将开发板的GPIO口中的GPG14口配置为输入引脚,想通过向该引脚输入外部高低电平来控制点亮、熄灭LED1. 代码如下:
void GPIO_init()
{
   rGPBCON &=0x3c03ff;
   rGPBCON |=0x015400;
   rGPBDAT |=(1<<5)|(1<<6)|(1<<7)|(1<<8);
   rGPBUP &=0x0;
   
   rGPGCON &=~(3<<28);
   rGPGCON &=(0<<28);
   rGPGUP &=0x0;
}  
主函数:
int Main(void)
{
     GPIO_init();
   
     
    if(rGPGDAT&(1<<14)==(1<<14))
     
     rGPBDAT &=~(LED1);
    }
程序运行的结果是,LED1一直亮,用万用表检测GPG14口的电压,始终为3.3V,不解,是不是我的寄存器配置由问题?
wanlijunjun 发表于 2013-11-16 21:35:51 | 显示全部楼层
TIAN-咫尺天涯 发表于 2013-11-15 18:53
好的,谢谢你的回复。我将开发板的GPIO口中的GPG14口配置为输入引脚,想通过向该引脚输入外部高低电平来 ...

有操作系统时,GPIO可能会被占用从而你没有办法再使用它。无操作系统时不知道存不存在这个问题。你先按照你的方法再增加配置其它引脚,如果都是没有结果,那就是你配置或者程序有问题。你源码我没有仔细看,回头有时间再看一下。
单骗机的寂寞 发表于 2013-11-22 21:47:04 | 显示全部楼层
你的程序本来就是检测到GPG14口电压为高时,点亮LED1,既然你说了,用万用表量的时候,一直是3.3V,程序当然一直亮了,你又没有让其灭的逻辑,不知你到底是疑惑在哪里?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 19:19 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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