您的位置 首页 国产IC

ARM9外部中止功用测验

*文件名称:EINT.c*实现功能:测试外部中断的操作*作者:jianqi*版本:1.0#include2440addr.h//包含2440相关寄存器的设置#incl…

* 文件称号:EINT.c
* 完成功用:测验外部中止的操作
* 作者:jianqi
* 版别:1.0

#include”2440addr.h” //包括2440相关寄存器的设置
#include”def.h”
#define LED1 5
#define LED2 6
#define LED3 7
#define LED4 8

#define KEY1 1
#define KEY2 4
#define KEY3 2
#define KEY4 0

#define Bit(x) (1<#define Output(x) (1<<2*x) //将对应IO置为输出
#define LED_On(x) rGPBDAT=~Bit(x) //点亮对应LED

* 称号:Key1_ISR
* 功用:key1操控LED1亮灭
* 进口参数:无
* 出口参数:无

void __irq Key1_ISR(void) //EINT1中止服务程序
{
int led;
rSRCPND=rSRCPND|(0x01<<1); //铲除中止标志位
rINTPND=rINTPND |(0x01<<1); //铲除中止标志位
led=rGPBDAT&(0x1<if (led==0)
{
rGPBDAT=rGPBDAT|(0x1<}
else
{
rGPBDAT=rGPBDAT&~(0x1<}
}

* 称号:Key2_ISR
* 功用:key2操控LED2亮灭
* 进口参数:无
* 出口参数:无

void __irq Key2_ISR(void) //EINT4中止服务程序
{
int led;
rSRCPND=rSRCPND|(0x01<<4); //铲除中止标志位
rINTPND=rINTPND |(0x01<<4);//铲除中止标志位
if(rEINTPEND&(1<<4))
{
rEINTPEND=rEINTPEND|(0x1<<4); //铲除中止标志位
led=rGPBDAT&(0x1<if (led ==0)
{
rGPBDAT=rGPBDAT|(0x1<}
else
{
rGPBDAT=rGPBDAT&~(0x1<}
}
}

* 称号:Key3_ISR
* 功用:key3操控LED3亮灭
* 进口参数:无
* 出口参数:无

void __irq Key3_ISR(void) //EINT2中止服务程序
{
int led;
rSRCPND=rSRCPND|(0x01<<2); //铲除中止标志位
rINTPND=rINTPND |(0x01<<2); //铲除中止标志位
led=rGPBDAT&(0x1<if (led==0)
{
rGPBDAT=rGPBDAT|(0x1<}
else
{
rGPBDAT=rGPBDAT&~(0x1<}
}

* 称号:Key4_ISR
* 功用:key4操控LED4亮灭
* 进口参数:无
* 出口参数:无

void __irq Key4_ISR(void) //EINT0中止服务程序
{
int led;
rSRCPND=rSRCPND|0x1; //铲除中止标志位
rINTPND=rINTPND |0x1; //铲除中止标志位
led=rGPBDAT&(0x1<if(led==0)
{
rGPBDAT=rGPBDAT|(0x1<}
else
{
rGPBDAT=rGPBDAT&~(0x1<}
}

* 称号:Main
* 功用:初始化外部中止相关寄存器
* 进口参数:无
* 出口参数:无

void Main(void)
{
rGPBCON=(1<<2*LED1)|(1<<2*LED2)|(1<<2*LED3)|(1<<2*LED4);//设置四个LED为输出
rGPBDAT=0xffff; //悉数平息
rGPFCON=0xaaaa; //0~7外部中止
rEXTINT0=0x20222; //下降沿中止
rEINTMASK=~(1<<4); //不屏蔽外部中止0,1,2,4
rEINTPEND=(1<<4); //0,1,2,4发生中止
rSRCPND=0x17; //外部中止
rINTPND=0x17; //外部中止使能
rINTMOD=0x00; //悉数为IRQ中止
rINTMSK=~0x17; //不屏蔽外部中止
pISR_EINT0=(U32)Key4_ISR;
pISR_EINT1=(U32)Key1_ISR;
pISR_EINT2=(U32)Key3_ISR;
pISR_EINT4_7=(U32)Key2_ISR;

while(1)
{
;
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/264434.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部