社区
嵌入开发(WinCE)
帖子详情
如何查看GPIO寄存器
dongzhanyong
2009-04-24 08:33:13
我用的是XSCal270+winCE4.2,最近自定义了中断,GPIO的52口,上升沿触发中断,pin已经设置了in中断。自认为过程没有错,测试程序中InterruptInitialize也没报错,但是就是等不来中断事件。硬件给了上升沿也没反应,不知道哪位大侠知道怎么实时看一下270里的中断寄存器,比如GRER1。急啊。
...全文
565
11
打赏
收藏
如何查看GPIO寄存器
我用的是XSCal270+winCE4.2,最近自定义了中断,GPIO的52口,上升沿触发中断,pin已经设置了in中断。自认为过程没有错,测试程序中InterruptInitialize也没报错,但是就是等不来中断事件。硬件给了上升沿也没反应,不知道哪位大侠知道怎么实时看一下270里的中断寄存器,比如GRER1。急啊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dongzhanyong
2009-04-28
打赏
举报
回复
好了,是重新编译时把bsp的文件夹弄错了,所以一直没加进去。谢谢大家了。
paul_chao
2009-04-27
打赏
举报
回复
PXA270 GPIO52 中断, 要设定好 GPDR1, GRER1, GAFR1_U, 并清除 GEDR1, 设定好 ICMR BIT10(GPIO_x), 中断就会进来了.
PXA270 也有 WinCE4.2 的 BSP 吗? 我只用过 5.0 & 6.0 的, 要注意的是 Reference Board 的设计, 中断是接到 CPLD 的, 所以改成 GPIO 中断时要另外修改, 不知 LZ 拿到的 BSP 是不是已经加入 GPIO 中断的处理.
要印出 GRER1 的值, 先用 VirtualAlloc, VirtualCopy 得到 GPIO register 的 Virtual Address, 即可存取其 register 值, 再用 RETAILMSG 印出即可.
Paul, Chao @ Techware
AMOROUS
2009-04-27
打赏
举报
回复
[Quote=引用 1 楼 xqhrs232 的回复:]
串口打印
[/Quote]
不是很准,还是自己写个应用程序访问好点
博说医械研发
2009-04-27
打赏
举报
回复
[Quote=引用楼主 dongzhanyong 的帖子:]
我用的是XSCal270+winCE4.2,最近自定义了中断,GPIO的52口,上升沿触发中断,pin已经设置了in中断。自认为过程没有错,测试程序中InterruptInitialize也没报错,但是就是等不来中断事件。硬件给了上升沿也没反应,不知道哪位大侠知道怎么实时看一下270里的中断寄存器,比如GRER1。急啊。
[/Quote]
IN中断?我用到的单片机或者是ARM都是:IN、OUT、中断,你的这个IN中断是什么概念呢?有IN中断和OUT中断,是这个芯片就是这个用法还是你先置成了中断又置成了IN?
shuiyan
2009-04-27
打赏
举报
回复
Interrup的寄存器里,有没有允许GPIO52的中断?
不管是驱动去读再串口打印,还是应用程序去读,都需要循环读取。
dongzhanyong
2009-04-27
打赏
举报
回复
感谢大家的回复!自己写了应用程序,可以读寄存器的地址,但给硬件52口上升沿之后GEDR1的20位为0(不仅20位为0,其他位都为0。)即没有监测到。我现在怀疑2个问题:
1、修改BSP自己加入自定义中断后,在PB中重编内核过程需要别的特殊设置吗?是不是我没注意到?我只是Rebuild的。
2、硬件没连上。
还有一个疑问:中断测试的应用程序中用InterruptInitilize函数第二个参数即响应事件是如何与第一个参数即逻辑中断号联系起来的?我在BSP里没有见到SetEvent啊。。。
仍然没有中断响应,请大家继续指点。。。。
gooogleman
2009-04-25
打赏
举报
回复
[Quote=引用 3 楼 ceFighter 的回复:]
在驱动里直接通过串口打印出这个寄存器的值应当可以的
[/Quote]
是可以,这只能打印当前的寄存器值,但是过了这个驱动之后,别的驱动有可能会覆盖了,所以这样很难找到原因,在系统起来后直接用应用程序去读才是合适的,这样很容易发现问题所在
SZ_Devin
2009-04-25
打赏
举报
回复
在驱动里直接通过串口打印出这个寄存器的值应当可以的
gooogleman
2009-04-25
打赏
举报
回复
[Quote=引用 1 楼 xqhrs232 的回复:]
串口打印
[/Quote]
这方法不合适的。
应该是在应用程序直接访问硬件,这样才是最终的寄存器值。
不过你的wince4.2 你直接写个应用程序,就像驱动这样写,去访问它。
xqhrs232
2009-04-25
打赏
举报
回复
串口打印
hzdysymbol
2009-04-25
打赏
举报
回复
自己写一个简单的AP,通过映射寄存器的地址,然后直接进行访问是最方便的
但也可以在代码里打印出来查看
RK3288
GPIO
的相关
寄存器
的介绍和使用
RK3288
GPIO
的相关
寄存器
的详细介绍和使用
OpenBMC开发笔记系列——(六)如何通过ast2600的datasheet
查看
GPIO
寄存器
地址
GPIO
寄存器
蔡工驱动开发实战之操作
GPIO
控制LED灯亮灭
本课程主要是给学员分享编写一个
GPIO
控制板子的LED灯的项目过程,让大家学会如何从无到有地编写一个
GPIO
驱动,创建设备节点操作
GPIO
,创建工作队列循环操作
GPIO
;课程通过结合开发板,一边添加代码一边调试,现场
查看
代码的运行过程,现场debug,包括写代码,编译驱动跑起来还有对应打印底层log来debug驱动的过程。这里是基于rk3288平台上的项目,android版本是7.1,kernel版本是4.4。
GPIO
寄存器
每组IO口有10个
寄存器
组成,如果芯片有
GPIO
A~
GPIO
I,9个组那么一共有90个
寄存器
如果配置一个IO口需要2个位,那么刚好32位
寄存器
配置一组IO口16个IO口 如果配置一个IO口只需要1个位,一般高16位保留 BSRR
寄存器
32位分为低16位BSRRL和高16位BSRRH,BSRRL配置一组IO口的16个IO口的状态(1),BSRRH配置复位状态(0)。 每组
GPIO
端口的
寄存器
包括: 4个32位配置
寄存器
一个端口模式
寄存器
(
GPIO
x_MODER) 一个端口输出类型
寄存器
(
GPIO
x_.
am335x uboot中
GPIO
寄存器
操作
内存/
寄存器
操作指令 nm 修改内存值 (指定地址) 格式: nm [.b, .w, .l] address mm 修改内存值(地址自动加一) 格式: mm [.b, .w, .l] address md 显示内存值 格式: md [.b, .w, .l] address [# of objects] mw 用指定的数...
嵌入开发(WinCE)
19,504
社区成员
41,569
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章