arm入门测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TQ2440(ARM9)的第一个无OS实验
(2011-03-23 16:14:06)
转载
标签:
分类:AVR_ARM
内存
led
2440
流水灯
it
#include"2440addr.h" //包含2440相关寄存器的设置
//四个LED对应GPB5.6.7.8
#define LED1 5
#define LED2 6
#define LED3 7
#define LED4 8
#define Bit(x) (1< #define Output(x) (1<<2*x) //将对应IO置为输出 * 名称:Delay * 功能:延时 * 入口参数:无 * 出口参数:无 void Delay() { int i,j,k; for(i=0;i<8;i++) { for(j=0;j<100;j++) { for(k=0;k<1000;k++); } } } * 名称:Main * 功能:测试流水灯功能 * 入口参数:无 * 出口参数:无 void Main(void) { int i; rGPBCON=(Output(LED1)|Output(LED2)|Output(LED3)|Output(LED4)); //设置四个LED为输出 while(1) { for(i=LED1;i<=LED4;i++) { rGPBDAT=~Bit(i); Delay(); } } } 此后,可以直接下载至内存中执行,不过掉电后丢失;或者下载到NANDFlash 中,上电后,s3c2440自动copyNANDFlsh前4K的代码到内存中,并从内存起始地址0x30000000开始执行程序。 利用ARM外部中断控制流水灯的闪烁速度(基于LPC2134) (2011-03-13 14:52:57) 转载 分类:AVR_ARM 标签: 外部中断 流水灯 arm lpc it #include "config.h" void __irq Eint0_IRQ(void); //INT0中断函数声明 void delay(int dly); //delay延时函数声明 //流水灯数值表 int Led_Table[]={ 0x00fe0000,0x00fd0000,0x00fb0000,0x00f70000,0x00ef0000, 0x00df0000,0x00bf0000,0x007f0000}; int Delaytime=70; //主函数 int main(void) { int i=0; PINSEL0=0X000CC0CC; //使能p0.1 p0.3 p0.7 p0.8分别为外部中断0.1.2.3 PINSEL1=0X00000000; //使能p1.16~23为IO功能 IO1DIR=0XFF<<16; //这个写法很清楚,推荐 IRQEnable(); VICIntSelect=0x00000000; //设置所有的终端都为IRQ中断 VICVectCntl0=0x20|14; //设置INT0为IRQ中断,使用slot0 VICVectAddr0=(uint32)Eint0_IRQ; //设置终端服务程序地址 VICIntEnable=0x00004000; //使能INT0 EXTMODE=0x00; //INT0电平触发 EXTPOLAR=0x00; //触发电平为低电平 EXTINT=0x0f; //清除所有中断标志 while(1) { IO1SET=Led_Table[i];//设置高电平引脚 IO1CLR=~Led_Table[i]; //设置低电平引脚 delay(Delaytime); i+=1; if(i==8) { i=0; } } return 0; } # * 名称:delay # * 功能:延时函数 # * 入口参数:延时时间 # * 出口参数:无 void delay(int dly) { int i,j; for(i=0; i for(j=0; j<25000; j++); } # * 名称:Eint0_IRQ() # * 功能:外部中断1中断处理程序。 # * 入口参数:无 # * 出口参数:无 void __irq Eint0_IRQ(void) { if(Delaytime>20) { Delaytime-=20; //加快流水灯的闪烁速度 } while((EXTINT&0x01)!=0) //不断被清除标志位,直到外部恢复高电平,此时EXTINT的最低位位0 { EXTINT=0x01; } VICVectAddr=0; //必须操作 } ARM的串口基本操作函数测试(基于LPC2134) (2011-03-13 23:52:28) 转载 分类:AVR_ARM 标签: lpc arm uart proteus it * 文件名称:UART0.h * 功能:声明关于UART0的相关全局函数