请教PXA3XX GPIO中断的一个问题

hzdysymbol 2009-04-25 01:48:40
新接触PXA303 CPU,在使用中发现GPIO1中断检测不到,
1. 通过配置GPIO1输出方波,示波器可以检测到,说明硬件连接应该没有问题,但是配置为输入则检测不到高低电平
2. 配置别的GPIO,可以检测到中断,会运行相应的中断处理函数,只有配置GPIO1时检测不到中断
3. 按下GPIO1键时,硬件示波器上可以检测到低电平,说明按键没有问题
打印出来的寄存器值GPDR,GRER,GFER,MFPR等都没发现有什么问题

请高手指点一下,GPIO1配置有什么需要特别注意的地方吗?
谢谢!
...全文
148 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzdysymbol 2009-04-30
  • 打赏
  • 举报
回复
你要什么资料?
查PB的文档不都可以吗?我手上也没有什么现成的文档
zhenwenxian 2009-04-28
  • 打赏
  • 举报
回复
兄弟,能不能发一些关于电源管理的资料到我邮箱,zhenwenxian@126.com
hzdysymbol 2009-04-28
  • 打赏
  • 举报
回复
谢谢shuiyan,gogofly_lee, morris88回答我的问题,结贴给分
shuiyan 2009-04-27
  • 打赏
  • 举报
回复
详细看了一下:GPIO1只有#CS2这一个特殊功能,所以应该不会是特殊功能的配置出问题。
作为GPIO也没看到有特殊限制。只是看到second instantiation(第二实例)时,强调实例1和实例2不要同时配成GPIO或者特殊功能。
所以我们的GPIO1是作为了#CS2使用,GPIO1_2作为GPIO使用。
hzdysymbol 2009-04-27
  • 打赏
  • 举报
回复
找到问题所在了,原来使用GPIO1还需要配置GPIO1_2,真是有些晕啊
SPEC没有研究透
hzdysymbol 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 morris88 的回复:]
这个是 gpio 的头文件宏定义


C/C++ code#ifndef __ASM_ARCH_PXA2XX_GPIO_H
#define __ASM_ARCH_PXA2XX_GPIO_H

#warning Please use mfp-pxa2[57]x.h instead of pxa2xx-gpio.h

/* GPIO alternate function assignments */

#define GPIO1_RST 1 /* reset */
#define GPIO6_MMCCLK 6 /* MMC Clock */
#define GPIO7_48MHz 7 /* 48 MHz clock output */
#define GPIO8_MMCCS0 …
[/Quote]
肯定可以被用做输出的,试了可以输出方波,没有问题
hzdysymbol 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gogofly_lee 的回复:]
记得在PXA270中,GPIO1是用来做GPIO reset的,不能用GPIO寄存器配置,LZ可以看看电源管理相关章节,应该有相应的描述。
[/Quote]
270中使用没有问题的,GPIO1可以用做GPIO,也可以做为GPIO Reset

hzdysymbol 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shuiyan 的回复:]
没什么特殊功能。
pxa3xx的GPIO_RESET已经单独取出了,不需要GPIO1了。

你将打印出的GPIO的寄存器值贴一下看看,要所有涉及的。
[/Quote]
是的,GPIO Reset已经有单独的Pin脚来控制了
明天我把打印出来的值贴上来看一下,我看了没有发现什么问题
shuiyan 2009-04-26
  • 打赏
  • 举报
回复
没什么特殊功能。
pxa3xx的GPIO_RESET已经单独取出了,不需要GPIO1了。

你将打印出的GPIO的寄存器值贴一下看看,要所有涉及的。
gogofly_lee 2009-04-26
  • 打赏
  • 举报
回复
说得不清楚,GPIO1除了GPIO_Reset和GPIO外,没有其他可选功能,GPIO1作为输入主要是用于reset和唤醒系统。
morris88 2009-04-25
  • 打赏
  • 举报
回复
楼上说的“只作输出...”,这个我没有去查手册确定,可能是错的,敬请谅解!
morris88 2009-04-25
  • 打赏
  • 举报
回复
这个是 gpio 的头文件宏定义

#ifndef __ASM_ARCH_PXA2XX_GPIO_H
#define __ASM_ARCH_PXA2XX_GPIO_H

#warning Please use mfp-pxa2[57]x.h instead of pxa2xx-gpio.h

/* GPIO alternate function assignments */

#define GPIO1_RST 1 /* reset */
#define GPIO6_MMCCLK 6 /* MMC Clock */
#define GPIO7_48MHz 7 /* 48 MHz clock output */
#define GPIO8_MMCCS0 8 /* MMC Chip Select 0 */
#define GPIO9_MMCCS1 9 /* MMC Chip Select 1 */
#define GPIO10_RTCCLK 10 /* real time clock (1 Hz) */


貌似 GPIO1 被用于复位,只作输出...
gogofly_lee 2009-04-25
  • 打赏
  • 举报
回复
记得在PXA270中,GPIO1是用来做GPIO reset的,不能用GPIO寄存器配置,LZ可以看看电源管理相关章节,应该有相应的描述。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧