历史上的今天
今天是:2024年11月06日(星期三)
2019年11月06日 | S3C2440外部中断响应寄存器设置方法
2019-11-06 来源:51hei
如果不按照如下设置,中断将无法执行或者无法使下一个中断进入。
/*中断挂起设置,此过程加入到主函数中启动时加载*/
void Eint_wait()
{
rSRCPND=rSRCPND; //中断挂起寄存器清除
rINTPND=rINTPND; //中断源挂起寄存器清除
rEINTPEND|=0x1<<13; //外部中断挂起寄存器,Eint挂起等待中断
rSRCPND=BIT_EINT8_23; //中断源挂起寄存器相应位置1等待中断
rINTPND=BIT_EINT8_23; //中断挂起寄存器相应位置1等待中断
}
/*中断挂起设置结束*/
/*以下为响应中断时的处理过程,为pISR指针中的函数*/
void __irq Eint_Isr(void)
{
if(rEINTPEND == (1<<13)) //判断Eint13有响应时执行如下
{
rGPBDAT=0x0<<6; //led6亮
delay(10000); //说明:由于使用边沿出发方式,故按钮按完后会完成边沿过程,完成后会立刻进入else处理过程中灭灯,肉眼可能无法看出来。为使其见到效果,需要让led亮一会儿!
rEINTPEND=(1<<13); //将中断挂起寄存器Eint13置1等待下一个中断到来,如果不设置下一个中断无法进入
}
else //当不为Eint13时,执行如下
{
rGPBDAT=0x1<<6;
rEINTPEND=(1<<13); //将中断挂起寄存器Eint13置1等待下一个中断到来,如果不设置下一个中断无法进入
}
}
以上两部分为简化了的中断处理过程中的重要内容,可根据输出引脚修改rGPBDAT和rEINTPEND即可使用。其它设置部分不在此说明。
史海拾趣
|
大家好,我在进行MC55的测试中遇到一个问题有疑惑,问题是这样的: 我需要下位机通过GPRS无线网络传输数据包给上位机,而且我需要三个数据包连续发送给上位机,比如每一包数据大小为800字节, ...… 查看全部问答> |
|
思科中国研发中心(CRDC)需要招聘Cable STB senior software Developer 2名,tester 1名,field engineer 1名。这是一个新成立的部门,因为目前经济形势不好,在hiring freeze的大形势下,还批下了4个职位。这4个人招进来之后,会作为新部门的key pe ...… 查看全部问答> |
|
各位大侠,请教: 8255或8155的三个I/O口PA,PB,PC的各个I/O口可以任意设定输入输出方式嘛?例如,可以设定PA0为输入,而PA1为输出嘛?… 查看全部问答> |
|
本人是计算机专业毕业,工作通信行业FPGA。目前工作使用的芯片是Xinlinx ISE,语言是verilog。 由于以前的专业和现在工作不怎么对口,FPGA的基础几乎没有。相关的就只学过数电,什么信号系统、数字信号处理、软件无线电都没学过。而且以前数电、微 ...… 查看全部问答> |
|
所有的STM32芯片都内置了一个硬件的CRC计算模块,可以很方便地应用到需要进行通信的程序中,这个CRC计算模块使用常见的、在以太网中使用的计算多项式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1写成16进 ...… 查看全部问答> |




