TQ210裸機程式設計 3 按鍵(查詢法)

2021-08-27 15:08:46 字數 1475 閱讀 9653

首先檢視tq210的底板原理圖

這次程式設計只操作key1和key2,在tq210核心板原理圖中搜尋xeint0

可以看出key1和key2分別接在s5pv210的gph0_0和gph0_1引腳。

這次程式設計使用查詢法,需要設定這兩個引腳為輸入模式,然後迴圈讀取引腳狀態,當使用者按下按鍵時,對應引腳為低電平,同時改變led狀態。

檢視s5pv210晶元手冊

.global _start				@宣告乙個全域性的標號

_start:

bl main @跳轉到c函式去執行

halt:

b halt @死迴圈

key.c

#define gpc0con		*((volatile unsigned int *)0xe0200060)

#define gpc0dat *((volatile unsigned int *)0xe0200064)

#define gph0con *((volatile unsigned int *)0xe0200c00)

#define gph0dat *((volatile unsigned int *)0xe0200c04)

void delay(volatile unsigned int t)

int main()

} }return 0;

}

makefile

key.bin: start.o key.o

arm-linux-ld -ttext 0x20000000 -o key.elf $^

arm-linux-objcopy -o binary key.elf $@

arm-linux-objdump -d key.elf > key.dis

key.o : key.c

arm-linux-gcc -c $< -o $@

start.o : start.s

arm-linux-gcc -c $< -o $@

clean:

rm *.o *.elf *.bin *.dis

按下key1,led1點亮,再次按下key1,led1熄滅

按下key2,led2點亮,再次按下key2,led2熄滅

TQ210裸機程式設計 3 按鍵(查詢法)

首先檢視tq210的底板原理圖 這次程式設計只操作key1和key2,在tq210核心板原理圖中搜尋xeint0 可以看出key1和key2分別接在s5pv210的gph0 0和gph0 1引腳。這次程式設計使用查詢法,需要設定這兩個引腳為輸入模式,然後迴圈讀取引腳狀態,當使用者按下按鍵時,對應引腳...

TQ210裸機程式設計 4 按鍵(中斷法)

s5pv210有4個向量中斷控制器 vic 每個向量中斷控制器包含32個中斷源。當某個中斷源產生中斷時,cpu會自動的將vicxvectaddry x 0,1,2,3,y 0 31 暫存器的值賦給vicxaddress x 0,1,2,3 因此我們可以把我們的中斷處理函式的位址賦給vicxvecta...

TQ210裸機程式設計 4 按鍵(中斷法)

s5pv210有4個向量中斷控制器 vic 每個向量中斷控制器包含32個中斷源。當某個中斷源產生中斷時,cpu會自動的將vicxvectaddry x 0,1,2,3,y 0 31 暫存器的值賦給vicxaddress x 0,1,2,3 因此我們可以把我們的中斷處理函式的位址賦給vicxvecta...