chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用Raspberry Pi 3使LED閃爍

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-05 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:設(shè)置/填充文件

好吧。..第一步是獲取硬件。您可以單獨購買零件,也可以使用工具包附帶足夠的零件。 LINK

此工具包隨附了設(shè)置raspberry pi 3以及更多內(nèi)容所需的一切!該套件中唯一沒有包括的是一張額外的迷你SD卡。等待!暫時不要再購買。如果您不打算使用卡上預(yù)裝的linux安裝程序,則只需復(fù)制隨附的mini sd卡的內(nèi)容以備后用,然后重新格式化該卡即可(稍后再介紹)。重要提示:請確保將文件保存在隨附的卡上,以備日后使用!

接下來是時候安裝軟件了。本教程將不包括有關(guān)如何安裝軟件的詳細說明。在線上有許多資源和教程,它們是如何安裝這些軟件的:

WINDOWS用戶:

下載并安裝gcc。

接下來,下載并安裝GNU ARM嵌入式工具鏈。

LINUX/MAC

Linux發(fā)行版預(yù)裝了gcc

下載并安裝GNU ARM嵌入式工具鏈。

好的,如果一切順利,那么您應(yīng)該可以打開終端機(linux/mac)或cmd行(windows),然后嘗試輸入

arm-none -eabi-gcc

輸出應(yīng)類似于第一張圖片。這只是為了驗證它是否已正確安裝。

現(xiàn)在,前提條件已不復(fù)存在,現(xiàn)在該開始學(xué)習(xí)有趣的東西了。

步驟2:電路

電路時間!電路很簡單。我們將在pi上連接一個led到GPIO 21(引腳40)(見圖2和3)。電阻也串聯(lián)連接,以防止損壞LED。電阻將連接到面包板上的負極,負極將連接到pi上的GND(引腳39)。連接LED時,請確保將短端連接到負極。看到最后一張圖片

步驟3:BOOTABLE Mini SD

有三個步驟可讓您的pi 3識別空白的迷你SD卡。我們需要找到并復(fù)制bootcode.bin,start.elf和fixup.dat。如果您購買了canakit或為linux發(fā)行的pi 3制作了可啟動的sd卡,則可以在隨附的mini sd卡上獲得這些文件。無論哪種方式,這些文件都是必需的,以允許pi將sd卡識別為可引導(dǎo)設(shè)備。接下來,將mini sd格式化為fat32(大多數(shù)mini sd卡都格式化為fat32。我從sandisk使用了便宜的mini sd卡),將bootcode.bin,start.elf,fixup.dat移到sd卡上。完成了!好了一次,按照圖片的順序,步驟是:

找到bootcode.bin,start.elf,fixup.dat。

確保您的SD卡格式化為fat32。

將bootcode.bin,start.elf和fixup.dat移至格式化的sd卡上。

這是我如何解決這個問題,請鏈接。

第4步:檢查Mini SD

好的,我們有一個可引導(dǎo)的迷你SD卡,希望您此時有一個pi 3。因此,現(xiàn)在我們應(yīng)該對其進行測試,以確保pi 3能夠識別出迷你sd卡是可啟動的。

在pi上,靠近迷你USB端口的地方有兩個小led。一個是紅色的。這是電源指示燈。當(dāng)pi接通電源時,該指示燈應(yīng)亮起。因此,如果您現(xiàn)在沒有任何迷你sd卡插入pi,它就會亮起紅色。好的,現(xiàn)在拔下pi的插頭,然后插入上一步中創(chuàng)建的可啟動迷你sd卡,然后將pi插入。您是否看到另一盞燈?在紅色旁邊,應(yīng)該有一個綠色指示燈,指示它正在讀取SD卡。該指示燈稱為ACT指示燈。插入可行的sd卡時,它會亮起。訪問迷你SD卡時,它將閃爍。

好吧,因此,在插入可引導(dǎo)的迷你sd卡并將pi插入后,應(yīng)該發(fā)生了兩件事:

紅色指示燈應(yīng)亮起,指示受電

綠色指示燈應(yīng)亮起,表明它已插入迷你SD卡中。

如果出現(xiàn)問題,請嘗試重復(fù)上述步驟或單擊下面的鏈接以獲取更多信息。

鏈接是一個很好的參考。

步驟5:CODE1

該項目是用ARM匯編語言編寫的。本教程假定您對ARM匯編有基本的了解,但是您應(yīng)該了解以下幾點:

.equ:為符號分配一個值,即abc .equ 5 abc現(xiàn)在代表五

ldr:從內(nèi)存中加載

str:寫入內(nèi)存

cmp:通過執(zhí)行減法比較兩個值。設(shè)置標志。

b:分支到標簽

添加:執(zhí)行算術(shù)

如果您對Arm組裝沒有任何經(jīng)驗,請觀看此文章視頻。它將使您對Arm匯編語言有很好的了解。

好吧,現(xiàn)在我們有一個連接到樹莓派3的電路,并且有一個pi可以識別的sd卡,所以我們的下一個任務(wù)是弄清楚如何通過加載樹莓派來與電路交互帶有可執(zhí)行程序的pi。通常,我們需要做的是告訴pi從GPIO 21(連接到紅線的引腳)輸出電壓。然后,我們需要一種方法來切換led使其閃爍。為此,我們需要更多信息。到目前為止,我們還不知道如何告訴GPIO 21輸出,這就是為什么我們必須閱讀數(shù)據(jù)手冊的原因。大多數(shù)微控制器都有數(shù)據(jù)表,這些數(shù)據(jù)表準確指定了所有工作方式。不幸的是,pi 3沒有官方文檔!但是,有一個非正式的數(shù)據(jù)表。這是指向它的兩個鏈接:

https://github.com/raspberrypi/documentation/files 。..

https://web.stanford.edu/class/cs140e/docs/BCM2837 。..

在這一點上,您應(yīng)該花幾分鐘的時間才能進入下一步瀏覽數(shù)據(jù)表,看看您能找到什么信息。

步驟6:CODE2:Turn_Led_ON

raspberry pi 3 53寄存器用于控制輸出/輸入引腳(外圍設(shè)備)。引腳分組在一起,每組分配給一個寄存器。對于GPIO,我們需要能夠訪問SELECT寄存器,SET寄存器和CLEAR寄存器。要訪問這些寄存器,我們需要這些寄存器的物理地址。在閱讀數(shù)據(jù)手冊時,您只需要記下地址的偏移量(低字節(jié))并將其添加到基址即可。您必須執(zhí)行此操作,因為數(shù)據(jù)表列出了Linux虛擬地址,這些地址基本上是操作系統(tǒng)分配的值。我們沒有使用操作系統(tǒng),因此我們需要使用物理地址直接訪問這些寄存器。為此,您需要以下信息:

外圍設(shè)備的基地址:0x3f200000。 pdf(第6頁)表示基本地址為0x3f000000,但是該地址不起作用。使用0x3f200000

FSEL2(SELECT)的偏移量而不是寄存器的完整地址。 pdf在0x7E20008處列出了FSEL2,但該地址是linux虛擬地址。偏移量將相同,因此我們要注意。 0x08

GPSET0(SET)的偏移量: 0x1c

O GPCLR0(CLEAR)的偏移量:0x28

因此,您可能會注意到數(shù)據(jù)表中列出了4個SELECT寄存器,2個SET寄存器和2個CLEAR寄存器,那么為什么選擇我所做的那些呢?這是因為我們要使用GPIO 21,而FSEL2控制GPIO 20-29,SET0和CLR0控制GPIO 0-31。 FSEL寄存器為每個GPIO引腳分配了三個位。由于我們使用的是FSEL2,這意味著位0-2控制GPIO 20,位3-5控制GPIO 21,依此類推。 Set和CLR寄存器為每個引腳分配一個位。例如,SET0和CLR0中的位0控制GPIO1。要控制GPIO 21,您需要在SET0和CLR0中設(shè)置位21。

好的,所以我們已經(jīng)討論了如何訪問這些寄存器,但是該怎么做呢?

FSEL2寄存器將用于將GPIO 21設(shè)置為輸出。要設(shè)置引腳輸出,您需要將三個位的lo順序位設(shè)置為1。因此,如果位3-5控制GPIO 21,則意味著我們需要將第一個位(位3)設(shè)置為1。這將告訴pi我們想要使用GPIO 21作為輸出。因此,如果要查看GPIO 21的3位,將其設(shè)置為b001后,它們應(yīng)該看起來像這樣。

GPSET0告訴pi開啟引腳(輸出電壓)。為此,我們只需切換與所需GPIO引腳對應(yīng)的位即可。在我們的情況下,位21。

GPCLR0告訴pi關(guān)閉該引腳(無電壓)。要關(guān)閉該引腳,請將此位設(shè)置為相應(yīng)的GPIO引腳。在我們的示例中,第21位

在出現(xiàn)閃爍的led之前,首先讓我們編寫一個簡單的程序,該程序只需打開led。

首先,我們需要在源代碼的頂部添加兩個指令。

.section .init告訴pi將代碼放置在哪里

.global _start

接下來,我們需要布置將要使用的所有地址。使用.equ為值分配可讀符號。

.equ GPFSEL2,0x08

.equ GPSET0,0x1c

.equ GPCLR0,0x28

.equ BASE,0x3f200000

現(xiàn)在,我們將創(chuàng)建掩碼以設(shè)置需要設(shè)置的位。

.equ SET_BIT3,0x08這將設(shè)置第三個位0000_1000

.equ SET_BIT21,0x200000

然后我們需要添加_start標簽

_start:

將基地址加載到寄存器

ldr r0,= BASE

現(xiàn)在我們需要設(shè)置GPFSEL2的bit3

ldr r1,SET_BIT3

str r1,[r0,#GPFSEL2]該指令表示將位0x08寫回GPFSEL2

最后,我們需要通過將GPSET0寄存器中的位21置1來設(shè)置GPIO 21

ldr r1,= SET_BIT21

str r1,[r0,#GPSET0]

最終產(chǎn)品應(yīng)類似于所示的代碼。

下一步是編譯代碼并創(chuàng)建一個.img pi可以運行的文件。

下載附件makefile,kernel.ld,以及是否需要turn_led_on.s源代碼。

將所有文件放在同一文件夾中。

如果使用自己的源代碼,請編輯makefile并將代碼= turn_led_on.s替換為code = .s

保存makefile。

使用終端(linux)或cmd窗口(windows)導(dǎo)航至包含以下內(nèi)容的文件夾文件,然后鍵入make并按Enter鍵。

make文件應(yīng)生成一個名為kernel.img的文件。

將kernel.img復(fù)制到您的迷你SD卡中??ǖ膬?nèi)容應(yīng)如圖所示(圖3):bootcode.bin,start.elf,fixup.dat和kernel.img。

彈出迷你sd卡并將其插入pi

將pi插入電源中

LED應(yīng)該亮起!!

重要提示:顯然可指導(dǎo)人員遇到了問題makefile沒有擴展名,因此我將其擴展名為.txt。

第7步:CODE3:BLINKY_LED

最后,是時候讓LED閃爍了!

與之前的步驟相比,這相對簡單。我們需要做的就是編寫一個無限循環(huán),在該循環(huán)內(nèi)打開LED,然后打開DELAY,然后關(guān)閉LED延遲并循環(huán)。

打開turn_led_on.s,然后將其另存為blinky_led .s

在.equ部分中添加.equ COUNTER,0xf0000。

在循環(huán)之前的下一個地方添加ldr r2,= COUNTER

在文件末尾添加新標簽Inifinite_loop:

在下一行添加b Inifinite_loop。這意味著代碼將無限期地跳轉(zhuǎn)回Inifinite_loop標簽。

在循環(huán)中打開led:str r1,[r0,#GPSET0],然后將0放入r10:mov r10,#0

添加標簽延遲:

在下一行上添加:添加r10,r10,#1,這將使r10在下一行上增加1

在下一行上添加:cmp r10 ,r2這會將r10與COUNTER的值進行比較

延遲,這意味著程序?qū)⑾萑胙h(huán),直到r10遞增到COUNTER為止,這將延遲程序。

現(xiàn)在我們需要關(guān)閉LED:str r1,[r0,#GPCLR0]這會將CLEAR寄存器中的位21置1。關(guān)閉LED。

接下來從上方復(fù)制延遲循環(huán),并將delay更改為delay2

打開makefile并將第4行的turn_on_led.s更改為blinky_led.s或您的文件名選擇。

執(zhí)行與上一步相同的操作。

用新的kernel.img

將SD卡插入pi并替換新卡上的kernel.img。通電!

LED應(yīng)該以大約每秒閃爍1次的速度閃爍!

略有重要的注意事項:顯然,指示人員有問題makefile沒有擴展名,因此我將其擴展名為.txt。下載擴展程序后,請刪除該擴展程序,以使其正常運行。

步驟8:完成

就是這樣。希望您現(xiàn)在指示燈閃爍!

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    243

    文章

    24618

    瀏覽量

    691106
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2080

    瀏覽量

    110510
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    請問如何讓 Sony-IMX219-Raspberry-Pi-V2-CMOS 相機與 VisionFive2 配合使用?

    我正在嘗試獲得我在 VisionFive2 版本 219a 上放置的備用 Sony-IMX2-Raspberry-Pi-V1.2-CMOS 相機。由于 VisionFive 2 有 1 個 × 2
    發(fā)表于 03-11 06:26

    PI3HDMI511A HDMI應(yīng)用信息解讀

    PI3HDMI511A HDMI應(yīng)用信息解讀 一、引言 PI3HDMI511A 是一款用于源應(yīng)用的 HDMI 1.4 重驅(qū)動器,它能夠?qū)碜噪p模 DP 源或 HDMI 源的 TMDS 信號進行重驅(qū)動
    的頭像 發(fā)表于 02-28 15:05 ?139次閱讀

    運行 debian 69 紅色電源 LED 旁邊的綠色閃爍 LED 是什么意思?

    運行 debian 69 紅色電源 LED 旁邊的綠色閃爍 LED 是什么意思?
    發(fā)表于 02-03 07:52

    合科泰教你如何焊接簡單LED閃爍電路

    你是否曾好奇那些閃爍LED燈背后的原理?今天教你5分鐘焊接一個簡單的LED閃爍電路,無需編程,只需一把電烙鐵、幾個簡單元件和基礎(chǔ)的焊接技
    的頭像 發(fā)表于 01-07 17:28 ?1098次閱讀
    合科泰教你如何焊接簡單<b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>電路

    【瑞薩RA6E2地奇星開發(fā)板試用】串口下載燒錄程序使LED閃爍頻率變慢

    成功后會給出提示,如是下載失敗,嘗試按一下復(fù)位按鍵。成功下載如下圖所示: 下載燒錄的程序使LED閃爍頻率變慢如下圖所示: 詳細代碼如下圖: 詳細見視頻。至此我們的串口下載成功。
    發(fā)表于 12-06 01:47

    Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    Banana Pi BPI-CM6 系統(tǒng)模塊 (SoM) 采用 SpacemiT K1 八核 RISC-V 處理器,并且與大多數(shù) Raspberry Pi CM4 或 CM5 模塊的載板兼容。 它
    發(fā)表于 11-28 16:59

    Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    Banana Pi BPI-CM6 系統(tǒng)模塊 (SoM) 采用 SpacemiT K1 8 核 RISC-V 處理器,并且與大多數(shù)為 Raspberry Pi CM4 或 CM5 設(shè)計的載板兼容
    的頭像 發(fā)表于 11-28 16:57 ?2361次閱讀
    Banana <b class='flag-5'>Pi</b> BPI-CM6 – 一款與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    Raspberry Pi攜手上海晶珩 助力工業(yè)與物聯(lián)網(wǎng)創(chuàng)新

    ?2025年9月23日下午,全球嵌入式解決方案的領(lǐng)導(dǎo)者 Raspberry Pi 在 2025 上海工博會首次亮相,并攜手其在華重要合作伙伴 上海晶珩(EDATEC) ,正式發(fā)布專為中國市場打造
    的頭像 發(fā)表于 09-26 15:29 ?643次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>攜手上海晶珩 助力工業(yè)與物聯(lián)網(wǎng)創(chuàng)新

    Banana Pi BPI-R4 Lite:新型單板計算機比 Raspberry Pi 5 更具優(yōu)勢

    Raspberry Pi 5(亞馬遜售價 66 美元起)的替代品。 然而,它的側(cè)重點略有不同,尤其適合網(wǎng)絡(luò)應(yīng)用。例如,它可以作為 OpenWrt 路由器的基礎(chǔ)。Banana Pi 最新的 SBC
    的頭像 發(fā)表于 08-26 16:46 ?1463次閱讀
    Banana <b class='flag-5'>Pi</b> BPI-R4 Lite:新型單板計算機比 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 更具優(yōu)勢

    【創(chuàng)龍TLT113-MiniEVM開發(fā)板試用體驗】T113開發(fā)板LED閃爍控制終極教程

    ;T113 LED控制菜單\" echo \"1. 心跳燈閃爍\" echo \"2. 用戶LED0閃爍\" echo \"3. 雙
    發(fā)表于 08-06 13:56

    貿(mào)澤開售Raspberry Pi用于嵌入式和IIoT應(yīng)用的RP2350微控制器

    2025 年 5 月 23 日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Raspberry Pi的新款
    發(fā)表于 05-27 14:50 ?1512次閱讀

    如何在Raspberry Pi OS上安裝SDK?

    Raspberry Pi OS 上安裝 SDK
    發(fā)表于 04-30 06:45

    Raspberry Pi 計算機流行的工業(yè)

    RaspberryPi電腦在工業(yè)應(yīng)用中越來越受歡迎,越來越多的公司轉(zhuǎn)向這款經(jīng)濟實惠但功能強大的單板電腦,以完成各種任務(wù)。在本文中,我們將深入探討RaspberryPi電腦在現(xiàn)實世界中的工業(yè)例,并
    的頭像 發(fā)表于 03-25 09:46 ?650次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 計算機流行的工業(yè)<b class='flag-5'>用</b>例

    如何讓 Raspberry Pi 煥發(fā)網(wǎng)絡(luò)新生機?

    空間較?。?76MB對比1.7GB以上的樹莓派OS鏡像),它非常適合速度和內(nèi)存使用率較高的老款Raspberry硬件。對于小型家庭和辦公室項目,OpenWRT將提
    的頭像 發(fā)表于 03-25 09:20 ?1339次閱讀
    如何讓 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 煥發(fā)網(wǎng)絡(luò)新生機?

    貿(mào)澤開售適用于AI和嵌入式應(yīng)用的 全新Raspberry Pi Compute Module 5

    2025 年 3 月 20 日 – 專注于推動行業(yè)創(chuàng)新的知名新品引入 (NPI) 代理商?貿(mào)澤電子 (Mouser Electronics) 即日起供應(yīng)Raspberry Pi的全新Compute
    發(fā)表于 03-24 15:09 ?544次閱讀