一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(上)
生活随笔
收集整理的這篇文章主要介紹了
一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(上)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LED實驗
匯編的方式驅動LED
/* *LED匯編實驗 *創建者:Orange *2021年03月04日 */ .global _start @全局標號_start:/*使能所有外設時鐘 */ldr r0, =0x020c4068 @CCGR0的地址ldr r1, =0xffffffff @要向CCGR0寫入的數據str r1, [r0] @將0xffffffff寫入到CCGR0中ldr r0, =0x020c406c @CCGR1的地址str r1, [r0]ldr r0, =0x020c4070 @CCGR2的地址str r1, [r0]ldr r0, =0x020c4074 @CCGR3的地址str r1, [r0]ldr r0, =0x020c4078 @CCGR4的地址str r1, [r0]ldr r0, =0x020c407c @CCGR5的地址str r1, [r0]ldr r0, =0x020c4080 @CCGR6的地址str r1, [r0]/*配置GPIO5_IO3的PIN復用為GPIO,也就是*設置IOMUXC_SNVS_SW_MUX_CTL_PAD_SNVS_TAMPER3 = 3*IOMUXC_SNVS_SW_MUX_CTL_PAD_SNVS_TAMPER3寄存器地址為0x02290014*/ldr r0, =0x02290014 @IOMUXC_SNVS_SW_MUX_CTL_PAD_SNVS_TAMPER3的地址ldr r1, =3 @關閉該口的軟件輸入功能,復用為GPIO,則應賦值0x1010,即3str r1, [r0] @將0x00101寫入IOMUXC_SNVS_SW_MUX_CTL_PAD_SNVS_TAMPER3寄存器中/*配置SNVS_TAMPER3的電氣屬性 也就是寄存器:*IOMUXC_SNVS_SW_PAD_CTL_PAD_SNVS_TAMPER3*IOMUXC_SNVS_SW_PAD_CTL_PAD_SNVS_TAMPER3寄存器地址為0x02290058**bit0: 0 為低速率 壓擺率設置*bit5:3 110 R0/6的驅動能力 設置驅動能力(Drive Strength Field)*bit7:6 10 medium(100MHz) 設置速度*bit11 0 關閉開漏使能 設置開漏使能*bit12 1 使能Pull/Keeper *bit13 0 選擇Keeper 選擇Pull還是Keeper*bit15:14 00 100K的下拉電阻 設置上/下拉電阻的大小*bit16 0 關閉HYS使能 設置HYS磁滯使能 *綜上該寄存器的值應設置為0x10b0*/ldr r0, =0x02290058 @IOMUXC_SNVS_SW_PAD_CTL_PAD_SNVS_TAMPER3的地址ldr r1, =0x10b0str r1, [r0] @將r1中的值/*設置GPIO 設置是輸入還是輸出 *GPIO5_GDIR寄存器地址為0x020ac004*設置GPIO5_GDIR寄存器的bit3為1*也就是設置GPIO5_IO03為輸出*/ldr r0, =0x0209c004ldr r1, =0x8str r1, [r0]/*打開LED,也就是設置GPIO5_GPIO03為0*具體要結合開發板原理圖上LED的連接方式來操作*由于此處LED另一端連接的是電源,所以設置為0為點亮* */ldr r0, =0x02090000ldr r1, =1str r1, [r0]loop :b loop匯編驅動LED小結(代碼分析):
loop :
b loop
總結
以上是生活随笔為你收集整理的一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oc语言基础入门
- 下一篇: word 中公式显示不全行距调整