要點亮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,但咱們剛開始,只要瞭解熟悉相關分析方法便可,下篇介紹中斷。