共1条
1/1 1 跳转至页
求教关于S3C44B0的中断问题
各位ARM高手,我刚刚接触ARM,我用的ARM7的S3C44B0的芯片,现在中断程序不好用,不知道为什么希望各位高手能帮忙看一看:
void Main(void)
{
int TEMP_rEXTINT;
unsigned int k;
//设置G口为外部中断口
*((unsigned char*)0x2000000) = 0xff;
for(k=0;k<60000;k++);
*((unsigned char*)0x2000000) = 0x0f;
for(k=0;k<60000;k++);
rINTMOD=0;
rINTMSK=~(BIT_GLOBAL | BIT_EINT0 | BIT_EINT1);
rPCONG=0x57ff; //PortG[0~4] EINT MODE,PortG[5~7] OUT设置中断接口状态
rINTCON=0x5; // non Vectored interrupt mode , IRQ mode enable
TEMP_rEXTINT=rEXTINT;//保存外部中断控制寄存器的值
rEXTINT=(TEMP_rEXTINT & 0xffffff22) | 0xffffff22; //EINT[0,1] will be falling edge triggered.
pISR_EINT0=(int)Eint0Isr;//设置外部0的中断向量
pISR_EINT1=(int)Eint1Isr;//设置外部1的中断向量
rEXTINPND=0xf; //clear EXTINPND reg.
rI_ISPC= BIT_EINT0 | BIT_EINT1; //clear pending_bit
rINTMSK=~(BIT_GLOBAL | BIT_EINT0 | BIT_EINT1); //External interrupt0,1 check..
// Delay(20);
}
/********************************************************************
// Function name : Eint0Isr
// Description : eint0 isr
// Return type : void
// Argument : void
*********************************************************************/
void Eint0Isr(void)
{
char i;
unsigned int j;
for(i=0;i<5;i++)
{
switch(i)
{
case 0: *((unsigned char*)0x2000000) = 0xff; break;
case 1: *((unsigned char*)0x2000000) = 0x7f; break;
case 2: *((unsigned char*)0x2000000) = 0x3f; break;
case 3: *((unsigned char*)0x2000000) = 0x1f; break;
case 4: *((unsigned char*)0x2000000) = 0x0f; break;
default: break;
}
for(j=0;j<60000;j++);
}
rI_ISPC= BIT_EINT0; //clear pending_bit
}
/********************************************************************
// Function name : Eint1Isr
// Description : eint1 isr
// Return type : void
// Argument : void
*********************************************************************/
void Eint1Isr(void)
{
char i;
unsigned int j;
for(i=0;i<5;i++)
{
switch(i)
{
case 0: *((unsigned char*)0x2000000) = 0xff; break;
case 1: *((unsigned char*)0x2000000) = 0x7f; break;
case 2: *((unsigned char*)0x2000000) = 0x3f; break;
case 3: *((unsigned char*)0x2000000) = 0x1f; break;
case 4: *((unsigned char*)0x2000000) = 0x0f; break;
default: break;
}
for(j=0;j<60000;j++);
}
rI_ISPC= BIT_EINT1; //clear pending_bit
}
我的联系方式:qq25195314,也希望和各位交流交流!!谢谢!
关键词: 求教 关于 S3C44B0 中断 问题 unsig
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |