蜂鳴器控制很簡單只需要控制引腳輸出即可。通過原理圖檢視找到對應的gpio
下面是**:
#start.s
.global _start
_start:
# 關閉看門狗
ldr r0, =0xe2700000
mov r1, #0
str r1, [r0]
# 設定棧,以便呼叫c函式
ldr sp, =0x31000000
# 呼叫main
bl main
halt:
b halt
#define gpj2con (*(volatile unsigned long *) 0xe0200280)
#define gpj2dat (*(volatile unsigned long *) 0xe0200284)
// 延時函式
void delay(unsigned long count)
void main()
}
// buzzer.c
#define gpd0con (*(volatile unsigned long *)0xe02000a0)
#define gpd0dat (*(volatile unsigned long *)0xe02000a4)
// 初始化buzzer
void buzzer_init(void)
void buzzer_on(void)
void buzzer_off(void)
#makefile
buzzer.bin: start.o main.o buzzer.o
arm-linux-ld -ttext 0x30000000 -o buzzer.elf $^
arm-linux-objcopy -o binary buzzer.elf buzzer.bin
arm-linux-objdump -d buzzer.elf > buzzer_elf.dis
%.o : %.s
arm-linux-gcc -o $@ $< -c
%.o : %.c
arm-linux-gcc -o $@ $< -c
clean:
rm *.o *.elf *.bin *.dis *.exe -f
燒寫 方式: arm 裸機程式設計 串列埠篇
uart 通用非同步收發器,是一種全雙工序列非同步通訊 波特率與bps 實際上波特率並不等於bps。波特率 一秒鐘傳輸碼元的個數 bps 一秒鐘傳送的位元位位數 而碼元是承載資訊量的基本訊號單位,乙個二進位制碼元佔乙個位元位 所以僅傳輸二進位制碼元時,bps等於波特率 同步和非同步方式 非同步 非同...
ARM裸機開發(三)SDRAM程式設計
以下裸機程式基於gt2440,編譯器為arm linux gcc 4.4.3。程式結構 程式由sdram.s和main.c兩個檔案組成,sdram.s檔案完成一些初始化工作,如時鐘初始化,記憶體控制器初始化,拷貝第二階段 到sdram等 main.c負責迴圈點亮 熄滅四個led。程式流程 上電時,c...
ARM 2410裸機系列 中斷處理
目的 為了更好地掌握s3c2410中斷的原理及中斷程式的編寫。內容利用s3c2410的外部中斷0和外部中斷1實現兩個按鍵功能 原理 本次選擇的是外部中斷extint0和extint11。中斷的產生分別來自按鈕sb1202和sb1203,當按鈕按下時,extint0 對應管腳gpf0 或extint1...