共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |