欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
smart210裸板蜂鳴器程序
[打印本頁]
作者:
th_jonas
時間:
2017-7-23 20:05
標題:
smart210裸板蜂鳴器程序
C語言版
start.s:
.global _start
_start:
bl main
loop:
b loop
.end
main.c:
#define GPIOCON_0 *((volatile unsigned int *)0xE02000A0)
#define GPIODAT_0 *((volatile unsigned char *)0xE02000A4)
void init_buzzer();
void on_buzzer();
void off_buzzer();
void delay();
void init_buzzer(){
GPIOCON_0 &=~0xf;
GPIOCON_0 |=0x1;
}
void on_buzzer(){
GPIODAT_0 |=0x1;
}
void off_buzzer(){
GPIODAT_0 &=~0x1;
}
void delay(){
int i=1000000;
while(i--);
}
int main(){
init_buzzer();
while(1){
on_buzzer();
delay();
off_buzzer();
delay();
}
return 0;
}
Makefile:
buz.bin:start.o main.o
arm-linux-ld -Ttext=0xd0020010 $^ -o temp
arm-linux-objcopy -O binary temp $@
%.o:%.s
arm-linux-gcc -c $< -o $@
%.o:%.c
arm-linux-gcc -c $< -o $@
clean:
rm -f temp *.bin *.o
===========================================================================================
匯編版:
start.s
.global _start
_start:
bl init_buzzer
loop:
bl on_buzzer
bl delay
bl off_buzzer
bl delay
b loop
init_buzzer:
ldr r0,=0xE02000A0
ldr r1, [r0]
bic r1, r1,#0xf
orr r1, r1,#0x1
str r1, [r0]
mov pc ,lr
on_buzzer:
ldr r0,=0xE02000A4
ldr r1, [r0]
orr r1, r1,#0x1
str r1, [r0]
mov pc ,lr
off_buzzer:
ldr r0,=0xE02000A4
ldr r1, [r0]
bic r1, r1,#0x1
str r1, [r0]
mov pc ,lr
delay:
ldr r0,=0x100000
lable:
subs r0,r0,#1
bne lable
mov pc ,lr
.end
===========================================================================================
Makefile:
buzer.bin:start.o
arm-linux-ld -Ttext=0xd0020010 $^ -o temp
arm-linux-objcopy -O binary temp $@
%.o:%.s
arm-linux-gcc -c $< -o $@
%.o:%.c
arm-linux-gcc -c $< -o $@
.PHONY: clean
clean:
rm *.o *.bin temp
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1