历史上的今天
返回首页

历史上的今天

今天是:2025年01月23日(星期四)

正在发生

2020年01月23日 | 【ARM】2410裸机系列-中断处理

2020-01-23 来源:eefocus

目的

   为了更好地掌握S3C2410中断的原理及中断程序的编写。

   内容利用S3C2410的外部中断0和外部中断1实现两个按键功能

 


原理

   本次选择的是外部中断EXTINT0和EXTINT11。中断的产生分别来自按钮SB1202和SB1203,当按钮按下时,EXTINT0(对应管脚GPF0)或EXTINT11(对应管脚GPG3)和地连接,输入低电平,从而向CPU发出中断请求。


   当CPU受理后,进入相应的中断服务程序,通过超级终端的主窗口显示当前进入的中断号。

 


程序

#include "2410addr.h"//这头文件找了好久啊,mdk里面没有,后来在一个实例中提取出来的


#include "2410lib.h"


void __irq int0_int(void)   //外部中断0处理函数


{


   uart_printf("EINT0 interrupt occurred. n");


   ClearPending(BIT_EINT0);    //清除中断源


}


void __irq int11_int(void)  //外部中断11处理函数


{


if(rEINTPEND==(1<<11))  //判断外部中断挂起寄存器,确定是否外部中断11


   {


       uart_printf("EINT11 interrupt occurred. n");


       rEINTPEND=(1<<11);  //清除中断挂起寄存器


   }


   ClearPending(BIT_EINT8_23);


}


void int_init(void) //中断初始化


{


   rGPFCON=(rGPFCON & ~(3<<0) | (0x2<<0)); //将CPFO配置为EINT0


   rGPGCON=(rGPGCON & ~(3<<6) | (0x2<<6)); //将CPF3配置为EINT11


   pISR_EINT0=(UINT32T)int0_int;   //注册中断处理函数


   pISR_EINT8_23=(UINT32T)int11_int;    


//注册处理中断11处理函数,EINT8~23共用此函数,需要在处理函数中加入对源中断的判断


   rEINTPEND=0xffffff; //清除所有外部中断挂起状态


   rSRCPND=BIT_EINT0 | BIT_EINT8_23;   //清除源的挂起状态


   rINTPND=BIT_EINT0 | BIT_EINT8_23;   //清除挂起状态


   rEXTINT0=(rEXTINT0 & ~(7<<0)) | (0x2<<0);   //EINT0下降沿触发


   rEXTINT1=(rEXTINT1 & ~(7<<0)) | (0x2<<12);  //EINT1Ï下降沿触发


   rEINTMASK &= ~(1<<11);  //打开外部中断11


   rINTMSK &= ~(BIT_EINT0 | BIT_EINT8_23); //打开INTMSK中的中断0和中断8~23


}


int main()


{


   int_init();  


while(1);


}


//#define ClearPending(bit) {rSRCPND=bit;rINTPND=rINTPND;}


//写入错误的数据


//清除中断源,注意清除的顺序,要从源头开始清除


推荐阅读

史海拾趣

CMOSIS公司的发展小趣事

在CMOS图像传感器市场竞争日益激烈的背景下,CMOSIS公司凭借其深厚的技术积累,成功研发出一款新型CMOS图像传感器,具有更高的分辨率和更低的噪声水平。这一技术突破使得CMOSIS的产品在市场上脱颖而出,赢得了众多客户的青睐。公司通过不断优化生产工艺和降低成本,逐渐扩大了市场份额,成为行业内的佼佼者。

Cornell Dubilier公司的发展小趣事

随着时间的推移,Cornell Dubilier公司不断致力于技术创新和产品升级。在电力电容领域,公司取得了显著的成果,其产品广泛应用于飞机、激光医学技术、替代能源、电焊机及发电机等多个领域。这些技术的突破和应用,不仅提升了公司的市场竞争力,也为电子行业的发展做出了贡献。

南晶电子(DGNJDZ)公司的发展小趣事

随着市场竞争的加剧,南晶电子意识到技术创新是企业发展的核心动力。公司投入大量研发资金,与多所高校和科研机构建立合作关系,共同研发新型半导体器件。经过不懈努力,南晶电子成功推出了一系列具有自主知识产权的高性能产品,赢得了市场的广泛认可。

CUI Devices公司的发展小趣事

CUI Devices与富昌电子之间的合作关系可以追溯到CUI Inc的时代。多年来,双方建立了深厚的合作基础。在CUI Devices从CUI Inc剥离后,富昌电子继续支持其发展,成为其重要的合作伙伴之一。双方共同致力于推动电子元件行业的发展,为客户提供更优质的产品和服务。这种稳固的合作关系为CUI Devices在市场竞争中提供了有力的支持。

这五个故事展示了CUI Devices在电子行业中的发展历程和取得的成就。从起源与转型到应对全球健康危机的积极举措,再到在压电警报器市场的卓越表现以及电机品牌的崛起与拓展,每一个故事都见证了公司的成长和进步。同时,与富昌电子的稳固合作也为公司的未来发展奠定了坚实的基础。

CQR SECURITY公司的发展小趣事

CQR SECURITY公司最初是一家专注于网络安全技术研发的小型创业公司。在创始人的带领下,公司团队攻克了一系列网络安全难题,开发出了具有高度创新性的安全协议。这一技术突破迅速吸引了业界关注,多家大型企业开始与CQR合作,共同推动产品的商业化应用。随着合作的深入,CQR逐渐在电子安全领域建立了自己的地位,最终发展成为一家业内知名的安全解决方案提供商。

Good Sky Electric Co Ltd公司的发展小趣事
首先检查总电源开关是否已打开,然后检查启动按钮是否接触良好。接着,可以检查接触器是否吸合,以及主电机接线盒和电气盘内的接线处是否接触良好或接头是否脱落。此外,还应检查电气原理图中的熔断器是否熔断,以及接触器线圈是否烧毁等。

问答坊 | AI 解惑

全球GSM用户数突破20亿

全球GSM用户数突破20亿 2006-7-7     据GSM协会发布的报告:“在6月17日~18日这个周末,全球GSM手机用户数已突破20亿。”     GSM协会主席CraigEhrlich说,这是移动通信行业所达到的又一个辉煌的里程碑。自从第一 ...…

查看全部问答>

ACS800 系列变频器使用维护及故障处理应注意的事项

变频器是电牵引采煤机上常用的、重要的调速设备。因此 ,为保证其稳定、可靠地工作 ,合理的使用、维护尤其重要。文章总结了 ACS800系列变频器使用、维护及故障处理过程中应注意的事项 ,这对于其它型式变频器的维护有一定的借鉴作用。…

查看全部问答>

虚拟打印机软件,将打印结果生成PDF文档

安装后,在电脑上多出一个虚拟打印机,用虚拟打印机打印的结果是生成一个PDF文档,如果需要将原理图生成PDF文档上传到网上,就可用虚拟打印机实现了!!!!:D [ 本帖最后由 lycdl 于 2008-7-10 12:20 编辑 ]…

查看全部问答>

我的声控

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 我的声控电路 大家看看 [ 本帖最后由 open82977352 于 2010-2-2 10:49 编辑 ]  …

查看全部问答>

数字电路动画教学

特此声明:本资料是斑竹jinainian的贡献出来的,特帮他上传上来,帮助大家学习数字电路,很好的资料! …

查看全部问答>

用 DSP 设计3G 基站

用 DSP 设计3G 基站…

查看全部问答>

电机为什么还要驱动电路?

电机通电后不是就能转吗?为什么还要加个驱动电路呢???…

查看全部问答>

WINCE6.0下使用对话框出错.

我在WINCE6.0下使用DialogBox()下出错,其消息函数中,在一条消息函数中,只执行了一条语句就转到其他消息去了,请问这是什么原因.谢谢!…

查看全部问答>

清空内存

请教各位高手,如何在biosloader中实现清空内存?我的目的是每次开机启动先清空内存。开发平台是x86的…

查看全部问答>

GPRS发送SMS

我现在想用GPRS模块向一手机发送SMS 我从一参考资料上看到应该是: AT+CMGF=1 OK //Return Value AT+CSCS=”GSM” OK //Return Value AT+CMGS=”13912223333” > Good, this is test // 输入Ctrl+Z +CMGS: 158 //Return Value 问题: AT ...…

查看全部问答>