S5PV210帶有一個蜂鳴器,十分吵鬧,本章將學習如何控制蜂鳴器。
相關引腳:
蜂鳴器的操作十分簡單,原理跟操作LED一樣,通過控制GPDO_O這個引腳就可以達到控制蜂鳴器的目的。
1. start.S
start.S做了下面3件事:
第一步 關看門狗;
第二步 設置棧,以便調用C函數;
第三步 調用main函數;
2. buzzer.c
完整代碼如下:
/*buzzer.c*/
#define GPD0CON (*(volatile unsigned long *)0xE02000A0)
#define GPD0DAT (*(volatile unsigned long *)0xE02000A4)
// 初始化buzzer
void buzzer_init(void)
{
GPD0CON |= 1<<0;
}
void buzzer_on(void)
{
GPD0DAT |= 1<<0;
}
void buzzer_off(void)
{
GPD0DAT &= ~(1<<0);
}
函數buzzer_init()配置GPIO引腳,使GPD0_0用于輸入功能;
函數buzzer_on()使引腳GPD0_0輸出0,蜂鳴器響;
函數buzzer_off()使引腳GPD0_0輸出1,蜂鳴器不響;
3. main.c
在main.c中,首先會調用buzzer_init()來初始化蜂鳴器,然后通過一個while循環(huán)不斷的控制蜂鳴器的運行和停止。
4.Makefile
/*Makefile*/
buzzer.bin: start.o main.o buzzer.o
arm-linux-ld -Ttext 0x0 -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
上一篇:S5PV210的啟動過程
下一篇:S5PV210按鍵控制LED
設計資源 培訓 開發(fā)板 精華推薦
- W83312SN 總線終端穩(wěn)壓器的典型應用
- DC814D-J,使用 LTC6908-1 50KHz 至 10MHz 固定頻率硅振蕩器的演示板
- LTC3100EUD 演示板、1.5MHz 同步雙通道 DC/DC 轉換器和 100mA LDO
- 采用 XDPS21081 的 65W USB-PD 開關電源參考設計
- LTC3857EGN-1 高效雙路 1V/1.2V 降壓轉換器的典型應用電路
- ZXGD3105EV1,基于 ZXGD3105 MOSFET 功率驅動器的評估板
- LTC3552 的典型應用 - 獨立線性鋰離子電池充電器和雙路同步降壓轉換器
- LT3641 的典型應用——具有上電復位和看門狗定時器的雙路單片式降壓穩(wěn)壓器
- RD-421,使用 FAN7527B 功率因數校正輔助電源應用的參考設計
- LT3970IMS-3.3 5V、2MHz 降壓轉換器的典型應用