嵌入式开发板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开发中安装包时遇到的 关于
- 下一篇: 推荐一款生信分析工具的集大成者