国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式:ARM Day4

這篇具有很好參考價(jià)值的文章主要介紹了嵌入式:ARM Day4。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

嵌入式:ARM Day4,arm開發(fā)

一、自己編寫代碼實(shí)現(xiàn)三盞燈點(diǎn)亮

嵌入式:ARM Day4,arm開發(fā)

?源碼:


.text 
.global _start
_start: 			@進(jìn)行一次初始化
	bl RCC_INIT
	bl LED1_INIT
	bl LED2_INIT
	bl LED3_INIT
	b loop

loop: 				@循環(huán)開關(guān)燈
	bl LED1_ON
	bl delay_1s
	bl LED1_OFF
	bl delay_1s
	bl LED2_ON
	bl delay_1s
	bl LED2_OFF
	bl delay_1s
	bl LED3_ON
	bl delay_1s
	bl LED3_OFF
	bl delay_1s
	bl LED1_ON
	bl LED2_ON
	bl LED3_ON
	bl delay_1s
	bl LED1_OFF
	bl LED2_OFF
	bl LED3_OFF
	bl delay_1s
	b loop


RCC_INIT:
	@使能對(duì)應(yīng)控制器,通過RCC_MP_AHB4ENSETR寄存器進(jìn)行設(shè)置
	@引腳為E第[4]位 置1,引腳為F寄存器第[5]位 置1
	ldr r0,=0x50000A28
	ldr r1,[r0]
	orr r1,r1,#(0x3<<4)   @將P引腳與F引腳的寄存器一起使能
	str r1,[r0]
	mov pc,lr

@LED1的所有初始化工作
LED1_INIT:
	@1.通過GPIOx_MODER寄存器將PE10引腳設(shè)置為輸出模式,并將[21:20]位 置01
	ldr r0,=0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	orr r1,r1,#(0x1<<20)
	str r1,[r0]

	@2.通過GPIOx_OTYPER寄存器將PE10引腳設(shè)置為推挽輸出模式,并將第[10]位 置0
	ldr r0,=0x50006004
	ldr r1,[r0]
	bic r1,r1,#(0x1<<10)
	str r1,[r0]

	@3.通過GPIOx_OSPEEDR寄存器將PE10引腳設(shè)置為低速輸出模式,并將第[21:20]位 置00
	ldr r0,=0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	str r1,[r0]

	@4.通過GPIOx_PUPDR寄存器將PE10引腳設(shè)置為禁止上下拉電阻模式,并將第[21:20]位 置00
	ldr r0,=0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	str r1,[r0]
	mov pc,lr

@LED2的所有初始化工作
LED2_INIT:
	@1.通過GPIOx_MODER寄存器將PF10引腳設(shè)置為輸出模式,并將[21:20]位 置01
	ldr r0,=0x50007000
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	orr r1,r1,#(0x1<<20)
	str r1,[r0]

	@2.通過GPIOx_OTYPER寄存器將PF10引腳設(shè)置為推挽輸出模式,并將第[10]位 置0
	ldr r0,=0x50007004
	ldr r1,[r0]
	bic r1,r1,#(0x1<<10)
	str r1,[r0]

	@3.通過GPIOx_OSPEEDR寄存器將PF10引腳設(shè)置為低速輸出模式,并將第[21:20]位 置00
	ldr r0,=0x50007008
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	str r1,[r0]

	@4.通過GPIOx_PUPDR寄存器將PF10引腳設(shè)置為禁止上下拉電阻模式,并將第[21:20]位 置00
	ldr r0,=0x5000700C
	ldr r1,[r0]
	bic r1,r1,#(0x3<<20)
	str r1,[r0]
	mov pc,lr

@LED3的所有初始化工作
LED3_INIT:
	@1.通過GPIOx_MODER寄存器將PE8引腳設(shè)置為輸出模式,并將[17:16]位 置01
	ldr r0,=0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x3<<16)
	orr r1,r1,#(0x1<<16)
	str r1,[r0]

	@2.通過GPIOx_OTYPER寄存器將PE8引腳設(shè)置為推挽輸出模式,并將第[8]位 置0
	ldr r0,=0x50006004
	ldr r1,[r0]
	bic r1,r1,#(0x1<<8)
	str r1,[r0]

	@3.通過GPIOx_OSPEEDR寄存器將PE8引腳設(shè)置為低速輸出模式,并將第[17:16]位 置00
	ldr r0,=0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x3<<16)
	str r1,[r0]

	@4.通過GPIOx_PUPDR寄存器將PE8引腳設(shè)置為禁止上下拉電阻模式,并將第[17:16]位 置00
	ldr r0,=0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x3<<16)
	str r1,[r0]
	mov pc,lr

@點(diǎn)亮LED1燈
LED1_ON:
	@.通過GPIOx_ODR寄存器將PE10引腳設(shè)置為輸出高電平模式,并將第[10]位 置1 
	ldr r0,=0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x1<<10)
	str r1,[r0]
	mov pc,lr

@熄滅LED1燈
LED1_OFF:
	@.通過GPIOx_ODR寄存器將PE10引腳設(shè)置為輸出低電平模式,并將第[10]位 置0 
	ldr r0,=0x50006014
	ldr r1,[r0]
	bic r1,r1,#(0x1<<10)
	str r1,[r0]
	mov pc,lr

@點(diǎn)亮LED2燈
LED2_ON:
	@.通過GPIOx_ODR寄存器將PF10引腳設(shè)置為輸出高電平模式,并將第[10]位 置1 
	ldr r0,=0x50007014
	ldr r1,[r0]
	orr r1,r1,#(0x1<<10)
	str r1,[r0]
	mov pc,lr

@熄滅LED2燈
LED2_OFF:
	@.通過GPIOx_ODR寄存器將PF10引腳設(shè)置為輸出低電平模式,并將第[10]位 置0 
	ldr r0,=0x50007014
	ldr r1,[r0]
	bic r1,r1,#(0x1<<10)
	str r1,[r0]
	mov pc,lr

@點(diǎn)亮LED3燈
LED3_ON:
	@.通過GPIOx_ODR寄存器將PE8引腳設(shè)置為輸出高電平模式,并將第[8]位 置1 
	ldr r0,=0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x1<<8)
	str r1,[r0]
	mov pc,lr

@熄滅LED3燈
LED3_OFF:
	@.通過GPIOx_ODR寄存器將PE8引腳設(shè)置為輸出低電平模式,并將第[8]位 置0 
	ldr r0,=0x50006014
	ldr r1,[r0]
	bic r1,r1,#(0x1<<8)
	str r1,[r0]
	mov pc,lr

@ 大概1s的延時(shí)函數(shù)
delay_1s:
	mov r3, #0x10000000
	mm:
	cmp r3, #0
	subne r3, r3, #1
	bne mm
	mov pc, lr

.end

二、在C語言中Ox5000A28如何表示一塊地址空間

int *ptr = (int *)0x5000A28

? ? ? ? 在上述代碼中,int *ptr定義了一個(gè)指向整數(shù)類型的指針ptr,(int *)將地址0x5000A28強(qiáng)制轉(zhuǎn)換為整數(shù)類型的指針,后續(xù)可以通過*ptr訪問與修改該地址空間中的值。

三、思維導(dǎo)圖

嵌入式:ARM Day4,arm開發(fā)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-660409.html

到了這里,關(guān)于嵌入式:ARM Day4的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 嵌入式:ARM常用開發(fā)編譯軟件介紹

    嵌入式:ARM常用開發(fā)編譯軟件介紹

    ADS(ARM Developer Suite),是在1993年由Metrowerks公司開發(fā)是ARM處理器下最主要的開發(fā)工具。 他的前身是SDT,SDT是ARM公司幾年前的開發(fā)環(huán)境軟件,目前SDT早已經(jīng)不再升級(jí)。ADS包括了四個(gè)模塊分別是:SIMULATOR;C 編譯器;實(shí)時(shí)調(diào)試器;應(yīng)用函數(shù)庫。ADS對(duì)匯編、C/C++、java支持的均很好,

    2024年02月06日
    瀏覽(107)
  • [ARM 匯編]高級(jí)部分—ARM匯編編程實(shí)戰(zhàn)—3.3.2 嵌入式開發(fā)環(huán)境搭建

    [ARM 匯編]高級(jí)部分—ARM匯編編程實(shí)戰(zhàn)—3.3.2 嵌入式開發(fā)環(huán)境搭建

    搭建一個(gè)嵌入式開發(fā)環(huán)境主要包括以下幾個(gè)部分: 安裝交叉編譯器 配置集成開發(fā)環(huán)境(IDE) 安裝調(diào)試工具 下載和燒錄程序 接下來,我們將詳細(xì)介紹每個(gè)部分,并提供相應(yīng)的實(shí)例。 安裝交叉編譯器 交叉編譯器是用于將您編寫的ARM匯編代碼編譯成可執(zhí)行文件的工具。在本教程

    2024年02月11日
    瀏覽(21)
  • 單片機(jī)、ARM、嵌入式開發(fā)、Android 底層開發(fā)有什么關(guān)系?

    單片機(jī)、ARM、嵌入式開發(fā)、Android 底層開發(fā)有什么關(guān)系?

    從我目前的見識(shí)來看: 單片機(jī)是個(gè)系統(tǒng)(比如:51、AVR、PLC...),其中包含了去除了輸入輸出之外的運(yùn)算器、控制器、存儲(chǔ)器,我們用程序可以非常直觀的控制引腳電平的高低。最近很多小伙伴找我,說想要一些ARM的資料,然后我根據(jù)自己從業(yè)十年經(jīng)驗(yàn),熬夜搞了幾個(gè)通宵,

    2024年02月02日
    瀏覽(29)
  • 嵌入式:QT Day4

    嵌入式:QT Day4

    源碼: widget.h widget.cpp main.cpp

    2024年02月14日
    瀏覽(24)
  • 嵌入式:C高級(jí) Day4

    嵌入式:C高級(jí) Day4

    冒泡排序 簡單選擇排序: 快速排序:

    2024年02月14日
    瀏覽(23)
  • 探索嵌入式開發(fā)領(lǐng)域:單片機(jī)、ARM、Android底層的緊密聯(lián)系

    探索嵌入式開發(fā)領(lǐng)域:單片機(jī)、ARM、Android底層的緊密聯(lián)系

    作為一個(gè)曾編寫ARM教程和參與Android產(chǎn)品開發(fā)的專家,我發(fā)現(xiàn)單片機(jī)、ARM、嵌入式開發(fā)和Android底層開發(fā)之間存在緊密的聯(lián)系。對(duì)于那些希望在嵌入式開發(fā)領(lǐng)域發(fā)展的人來說,了解這些領(lǐng)域的知識(shí)至關(guān)重要。為了幫助你更好地學(xué)習(xí)這些內(nèi)容,我總結(jié)了一些嵌入式資料,你可以在

    2024年02月11日
    瀏覽(19)
  • 嵌入式LINUX開發(fā)系列之ARM板子如何替換debian鏡像源

    嵌入式LINUX開發(fā)系列之ARM板子如何替換debian鏡像源

    當(dāng)你做嵌入式開發(fā)過程中拿到一個(gè)開發(fā)板,遇到 apt update ,發(fā)現(xiàn)無法成功,鏡像源無法使用,這樣的話大大增加了開發(fā)難度。最近一個(gè)項(xiàng)目遇到這個(gè)問題,搜尋網(wǎng)絡(luò)卻無法得到有效答案,本人作為一名嵌入式開發(fā)工程師,在這里總結(jié)了一下,希望對(duì)大家做開發(fā)有所幫助,共同

    2024年03月24日
    瀏覽(29)
  • 【嵌入式資訊】Arm 通過引入 Keil MDK 版本 6 將嵌入式軟件開發(fā)提升到一個(gè)新的水平

    【嵌入式資訊】Arm 通過引入 Keil MDK 版本 6 將嵌入式軟件開發(fā)提升到一個(gè)新的水平

    ????????隨著物聯(lián)網(wǎng)設(shè)備變得越來越智能,開發(fā)人員面臨著日益增加的軟件復(fù)雜性,這需要新的開發(fā)流程來創(chuàng)建優(yōu)化的 ML 模型和高效的設(shè)備驅(qū)動(dòng)程序。因此,我們?yōu)樯鷳B(tài)系統(tǒng)提供的軟件開發(fā)平臺(tái)和工具必須與我們的處理器路線圖一起發(fā)展。Keil 微控制器開發(fā)套件?(Keil M

    2024年02月15日
    瀏覽(38)
  • 1802_在Linux系統(tǒng)上開發(fā)ARM單機(jī)片機(jī)嵌入式軟件

    1802_在Linux系統(tǒng)上開發(fā)ARM單機(jī)片機(jī)嵌入式軟件

    ???????? 全部學(xué)習(xí)匯總: GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 1. 在Linux上也有嵌入式的開發(fā)環(huán)境,或許還有很多。不過,我現(xiàn)在接觸到的大部分還是Windows居多。這一份文件介紹的是一個(gè)mbed platform這樣一個(gè)開源的ARM嵌入式開發(fā)環(huán)境。可以支持C以

    2024年02月07日
    瀏覽(22)
  • Ubuntu嵌入式開發(fā)編譯工具鏈安裝教程之Arm GNU Toolchain

    Ubuntu嵌入式開發(fā)編譯工具鏈安裝教程之Arm GNU Toolchain

    下載路徑: Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer 官方提供了可執(zhí)行版本和源文件版本(后綴為*src_tar.bz2?),通常情況我們直接下載可執(zhí)行版本就足夠了,當(dāng)然致力于編譯工具鏈原理學(xué)習(xí)的小伙伴對(duì)源文件版本是必不可少的,本文僅限可執(zhí)行版本安裝教程,若有

    2024年02月13日
    瀏覽(54)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包