蜂鸣器控制很简单只需要控制引脚输出即可。通过原理图查看找到对应的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
//main.c
#define GPJ2CON (*(volatile unsigned long *) 0xE0200280)
#define GPJ2DAT (*(volatile unsigned long *) 0xE0200284)
// 延时函数
void delay(unsigned long count)
{
volatile unsigned long i = count;
while (i--)
;
}
void main()
{
buzzer_init();
while(1)
{
buzzer_on();
delay(0x50000);
buzzer_off();
delay(0x50000);
}
}
// 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(