1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我调试s3c2410外部中断5,使用的是博创UP-NETARM2410-S实验箱,不知怎么回事中断一直被触发?读回 SRSPEND 和 INTPND 的值始终为0,而EINTPEND 为0x20,盼帮助解答啊!谢谢。能否给个外部中断5的例子程序。
我的程序: static void TS_OPEN_INT5(void) {设置中断 unsigned long temp; temp=__raw_readl(vGPFCON); //EINT5 temp&=0xf3ff; temp|=0x800; __raw_writel(temp,vGPFCON); temp=__raw_readl(vGPFUP); //上拉 temp&=0xdf; __raw_writel(temp,vGPFUP); temp=__raw_readl(vSRCPND); temp&=0x00000000; temp |=0x10; __raw_writel(temp,vSRCPND); temp=__raw_readl(vINTMSK); temp &=0xffffffef; __raw_writel(temp,vINTMSK); temp=__raw_readl(vINTPND); __raw_writel(temp,vINTPND); temp=__raw_readl(vEINTPEND); temp&=0x000000; temp |=0x20; __raw_writel(temp,vEINTPEND); temp=__raw_readl(vEINTMASK); temp &=0xffffdf; __raw_writel(temp,vEINTMASK); temp=__raw_readl(vEXTINT0); temp &=0x7f8fffff; //低电平 // temp |=0x1fffff; //高电平 __raw_writel(temp,vEXTINT0); } static void TS_CLOSE_INT5(void) {//清除中断标志 unsigned long temp; temp=__raw_readl(vSRCPND); temp&=0x00000000; temp |=0x10; __raw_writel(temp,vSRCPND); temp=__raw_readl(vINTPND); __raw_writel(temp,vINTPND); } static irqreturn_t s3c2410_isr_tc(int irq, void *dev_id) {//中断服务程序 unsigned int temp; temp=__raw_readl(vSRCPND); printk("SRCPND =%xn",temp); temp=__raw_readl(vINTPND); printk("INTPND =%xn",temp); temp=__raw_readl(vEINTPEND); printk("EINTPEND =%xn",temp); printk("Occured Touch Screen Interruptn"); TS_CLOSE_INT5(); // TS_OPEN_INT5(); return IRQ_RETVAL(1); } |
|
|
|
787 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
888 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写方法
608 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
905 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
821 浏览 0 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:41 , Processed in 0.503881 second(s), Total 64, Slave 47 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号