完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
首先我的板子是mini2440,看的是2017年ARM裸机增强版视频。
我最近在韦东山老师的裸板程序,然后我自己写了个简单的控制蜂鸣器的程序,程序分beep.c、beep.S和Makefile 先是beep.S: .text .global _start _start: ldr r0, =0x53000000 mov r1, #0 str r1, [r0] ldr sp, =4*1024 bl main halt: b halt 先是关闭看门狗然后设置堆栈指针然后跳到main函数,都是标准流程没什么问题 然后是beep.c: #define GPBCON (*(volatile unsigned long*)0x56000010) #define GPBDAT (*(volatile unsigned long*)0x56000014) int main() { GPBCON = 0x1; GPBDAT = 0x1; return 0; } 在原理图上看到GPB0引脚控制蜂鸣器,当GBP0=1时发声,=0时关闭 最后是Makefile: all: arm-linux-gcc -c beep.c -o beepc.o arm-linux-gcc -c beep.S -o beeps.o arm-linux-ld -Ttext 0 beepc.o beeps.o -o beep.elf arm-linux-objcopy -O binary -S beep.elf beep.bin arm-linux-objdump -D -m arm beep.elf > beep.dis clean: rm *.bin *.dis *.o *.elf 我把连接地址设置为0,所以编译后烧到nandflash执行,烧写后程序正常执行,蜂鸣器一直响。 //==================================================================== 不过接下来遇到的问题就有点摸不着头脑了: 我在原来C文件的基础上,定义了一个延时函数: #define GPBCON (*(volatile unsigned long*)0x56000010) #define GPBDAT (*(volatile unsigned long*)0x56000014) void delay(volatile unsigned long cnt) { for(;cnt>0;cnt--); } int main() { GPBCON = 0x1; GPBDAT = 0x1; delay(30000); GPBDAT=0X0; delay(30000); GPBDAT=0x1; delay(30000); GPBDAT=0x0; return 0; } 然后编译烧写到nandflash,这回发现蜂鸣器居然不响了。。。按道理应该是先响一会,再关一会再响再关才对啊,然后又把定义的函数去掉,发现又能响了。 我仔细检查了一下,感觉定义的函数没什么问题啊,也是照着韦东山老师的程序定义的。不知道为什么会出现这种情况,后i面又尝试着定义了其他的一些函数,发现 只要又函数定义,下载到板子上后就没办法得到想要的结果,板子任何反应都没。 想问问各位大神为什么会出现这种情况? 对了,我的板子是mini2440,希望能够得到解答,感激不尽~ |
|
相关推荐
3个回答
|
|
|
我在想难道是硬件的原因?感觉又不太可能,我是买的韦东山老师的新的一期视频,由于同学有块mini2440板子就拿过来用了,没买老师的开发板,好像老师说过所有的2440都差不多。。。
|
|
|
|
|
|
算一下延时时间
|
|
|
|
|
|
老师你好,我测试过了,不是延时的问题,我直接在GPBDAT=0x1语句前加了个delay,发现本来应该响的蜂鸣器也不响了,这下就可以确认是引入了函数造成了错误。。。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
296个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2470 浏览 6 评论
2205 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4833 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 07:32 , Processed in 0.744548 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4141