您的位置:首页 > 其它

arm笔记2-arm嵌入式系统实验教程(3)实验2.24

2009-12-02 13:25 232 查看
1.arm处理器中,只有MRS指令可以将状态寄存器cpsr或spsr读出到通用寄存器中。

2.arm映像
文件就是指烧录到rom中bin文件,可以用image文件来称呼它。image文件包含了ro和rw.

arm程序
是指在arm系统中正在执行的程序,而非保存在rom中的bin映像文件。一个arm程序包含3部

分:r0,rw,和zi

ro是程序中的指令和常量

rw是程序中的已初始化变量

zi是程序中的未初始化变量

#include "config.h"

#define BEEPCON 1<<7

void __irq IRQ_Eint3(void)

{

uint32 i;

i = IO0SET; //当前io0set的值

if((i&BEEPCON) == 0)

{

IO0SET = BEEPCON; //if IO0SET'S 第7位为0,则让io0set该位变为1,对应位输出高电平。

}

else

{

IO0CLR = BEEPCON; //if io0set's第7位为1,则让io0clr将该位变为1,即输出低电平。

}

while((EXTINT&1)!=0)

{

EXTINT = 1<<3;

}

VICVectAddr = 0;

}

int main(void)

{// add user source code

IRQEnable();

PINSEL1 = 3<<8; //作用为将P0.20设置为Eint3.参见书本194页

IO0DIR = BEEPCON; //BEEPCON is 10000000,p0.7 is output

VICIntSelect = 0x00000000; //all the interput is irq.

VICDefVectAddr =(int)IRQ_Eint3; //set the address of defvector interput irq_eint3

EXTMODE = 0x00; //level trigger

EXTINT = 1<<3; //1000,clear eint3 interprrupt flag

VICIntEnable =1<<17; //使能中断,见书本208页,eint3的vic为17

while(1);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: