设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
功能型操作系统 —— LinuxSir.cn
›
Linux小型、嵌入式系统
›
如何配置AT91RM9200 PA16/EMDIO/IRQ6 引脚为功能B的IRQ6 ...
返回列表
查看:
1449
|
回复:
0
如何配置AT91RM9200 PA16/EMDIO/IRQ6 引脚为功能B的IRQ6功能
[复制链接]
dean13
dean13
当前离线
积分
64
IP卡
狗仔卡
发表于 2007-11-6 13:30:53
|
显示全部楼层
|
阅读模式
linux-2.4.27 触摸屏驱动程序 硬件连接如下:触摸屏芯片7843 的中断输出引脚/PENIRQ <-----> PA16/EMDIO/IRQ6也就是要使用PIOA 的第16线的IRQ功能接受 触摸屏产生的中断信号。我对这个中断线的配置如下:AT91C_SYS->
MC_PCER = 1 << AT91C_ID_PIOA; //打开PIOA外围时钟AT91C_SYS->
IOA_PDR = AT91C_PA16_IRQ6; // 禁止PIOA功能AT91C_SYS->
IOA_BSR = AT91C_PA16_IRQ6; // 选择功能B,即IRQ在内核中的触摸屏驱动已经成功编译,中断分配也成功了,分配的中断号为31(AT91C_ID_IRQ6),但是当执行读取触摸屏文件/dev/touchscreen/0raw,即cat 此文件时,显然打开成功,但用手按下屏幕,此时好像LINUX内核不能接受到产生的中断,因为没有进入中断服务函数ads7843_ts_interrupt,这个函数是在request_irq中指定的,我已经跟踪了这个信息,但此时电平是有正常的,即按下屏时,电平拉低,并且 cat /proc/interrupts 显示的关于这个中断次数也不会变化,总之一句话,内核没有很“正常”的采集到中断信号,而中断信号的产生是正常的,即/PenIrq引脚的电平变化正常,触摸时,电平为低;松开为高;如果想使用PIOA的16引脚 的IRQ功能的话,应该如何配置 ?我上面的三项可以了吗?已经配置为使用外设功能B了吧?其它地方还要注意吗?就拿使用中断线来说 另外问一下:怎么样才算触摸屏的驱动成功了呢?如果编写一个用户测试程序,利用read读取触摸屏文件/dev/touchscreen/0raw,并打印出读取的值信息,因为read默认要阻塞,如果不按下触摸屏闺将会阻塞,如果按下触摸屏此时应该立即打印出读取的值信息,这样算不算驱动程序已经“好”了呢?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表