要点亮LED,先决条件是什么,固然得有相应的硬件设施。板子的整个电路图比较大,我就直接取相关部分。html
给发光二级管加上3.3v电压后,经过1k电阻,直接与S3C2440链接。至于为何要加电阻,你们应该都知道,发光二极管的正向电阻很小,管子很容易因电流过大而烧坏。至于具体多少,能够看你买的管子的说明。url
具体的烧写驱动安装,ARM集成开发环境安装我就不说了。通常都有手册,手册里面说得很清楚。htm
下面是代码实现:blog
AREA LED,CODE,READONLY
ENTRY
CODE32
GPFCON EQU 0x56000050
GPFDAT EQU 0x56000054
GPFUP EQU 0x56000058
INIT
LDR R0,=0X70
LDR R1,=GPFUP
STR R0,[R1]
LDR R0,=0X1500
LDR R1,=GPFCON
STR R0,[R1]
LDR R0,=0X70
LDR R1,=GPFDAT
STR R0,[R1]
MAIN
LDR R0,=0X60
STR R0,[R1]
BL TIMER
LDR R0,=0X50
STR R0,[R1]
BL TIMER
LDR R0,=0X30
STR R0,[R1]
BL TIMER
开发
B MAIN
TIMER
LDR R0,=0X5FFFF
TIMER_IMPLEMENT
SUB R0,R0,#1
CMP R0,#0
MOVEQ PC,LR
BNE TIMER_IMPLEMENT
END
get
本程序首先定义了三个GPIO操做相关的寄存器名称。效率
此时注意看手册,不一样的芯片相关定义存在差别。硬件
A.外部已加电源,故关闭GPIO端口的上拉电阻功能,设置GPFUP相关位。程序
B.设置端口的输入输出属性,本端口输入低电平。方法
C.最后根据输出需求,设置GPIO端口的数据寄存器的值。
上述代码定时效率低,严重浪费CPU,但咱们刚开始,只要了解熟悉相关分析方法便可,下篇介绍中断。