嵌入式开发板02---点亮LED升级版
生活随笔
收集整理的这篇文章主要介绍了
嵌入式开发板02---点亮LED升级版
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
LED汇编的复杂编写
首先,每次地址的输入都需要自己输入,非常容易输入错误,所以使用宏定义:
#define GPJ0CON 0xE0200040同时在编写的汇编程序进行make时会有警告,找不到_start。因此使用全局,将_start的链接属性改为外部
.global _start_start为汇编程序的入口
在对流水灯等单个位操作时使用位操作:位与(&)、位或(|)、左移<<、右移>>
例对于0x28
(1<<3)|(1<<5) 1<<3=1000 1<<5=100000
(1<<3)|(1<<5)=101000=0x28
利用位取反很容易得到单颗LED的点亮效果~(1<<3)=11110111
延时函数的编写:
delay:ldr r2, =10000ldr r3, =0x0 delay_loop:sub r2, r2, #1cmp r2, r3 //当r2=r3时bne不成立不执行,当r2不等于r3时执行bne delay_loopmov pc, lr //函数的返回在主程序中bl delay调用函数,在调用函数时将程序指针写入lr中,因此在函数返回时使用mov pc,lr
对于流水灯来说,主要使用循环和延时来实现的。
总结
以上是生活随笔为你收集整理的嵌入式开发板02---点亮LED升级版的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: django开发中安装包时遇到的 关于
- 下一篇: 推荐一款生信分析工具的集大成者