国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

怎樣用Raspberry Pi 3使LED閃爍

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

掃碼添加小助手

加入工程師交流群

步驟1:設置/填充文件

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

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

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

WINDOWS用戶:

下載并安裝gcc。

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

LINUX/MAC

Linux發行版預裝了gcc

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

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

arm-none -eabi-gcc

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

現在,前提條件已不復存在,現在該開始學習有趣的東西了。

步驟2:電路

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

步驟3:BOOTABLE Mini SD

有三個步驟可讓您的pi 3識別空白的迷你SD卡。我們需要找到并復制bootcode.bin,start.elf和fixup.dat。如果您購買了canakit或為linux發行的pi 3制作了可啟動的sd卡,則可以在隨附的mini sd卡上獲得這些文件。無論哪種方式,這些文件都是必需的,以允許pi將sd卡識別為可引導設備。接下來,將mini sd格式化為fat32(大多數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

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

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

好吧,因此,在插入可引導的迷你sd卡并將pi插入后,應該發生了兩件事:

紅色指示燈應亮起,指示受電

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

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

鏈接是一個很好的參考。

步驟5:CODE1

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

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

ldr:從內存中加載

str:寫入內存

cmp:通過執行減法比較兩個值。設置標志。

b:分支到標簽

添加:執行算術

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

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

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

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

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

步驟6:CODE2:Turn_Led_ON

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

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

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

GPSET0(SET)的偏移量: 0x1c

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

因此,您可能會注意到數據表中列出了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中設置位21。

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

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

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

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

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

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

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

.global _start

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

.equ GPFSEL2,0x08

.equ GPSET0,0x1c

.equ GPCLR0,0x28

.equ BASE,0x3f200000

現在,我們將創建掩碼以設置需要設置的位。

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

.equ SET_BIT21,0x200000

然后我們需要添加_start標簽

_start:

將基地址加載到寄存器

ldr r0,= BASE

現在我們需要設置GPFSEL2的bit3

ldr r1,SET_BIT3

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

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

ldr r1,= SET_BIT21

str r1,[r0,#GPSET0]

最終產品應類似于所示的代碼。

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

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

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

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

保存makefile。

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

make文件應生成一個名為kernel.img的文件。

將kernel.img復制到您的迷你SD卡中。卡的內容應如圖所示(圖3):bootcode.bin,start.elf,fixup.dat和kernel.img。

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

將pi插入電源中

LED應該亮起!!

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

第7步:CODE3:BLINKY_LED

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

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

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

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

在循環之前的下一個地方添加ldr r2,= COUNTER

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

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

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

添加標簽延遲:

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

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

延遲,這意味著程序將陷入循環,直到r10遞增到COUNTER為止,這將延遲程序。

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

接下來從上方復制延遲循環,并將delay更改為delay2

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

執行與上一步相同的操作。

用新的kernel.img

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

LED應該以大約每秒閃爍1次的速度閃爍!

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

步驟8:完成

就是這樣。希望您現在指示燈閃爍!

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    243

    文章

    24612

    瀏覽量

    691051
  • 樹莓派
    +關注

    關注

    122

    文章

    2079

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PI3HDMI511A HDMI應用信息解讀

    PI3HDMI511A HDMI應用信息解讀 一、引言 PI3HDMI511A 是一款用于源應用的 HDMI 1.4 重驅動器,它能夠對來自雙模 DP 源或 HDMI 源的 TMDS 信號進行重驅動
    的頭像 發表于 02-28 15:05 ?131次閱讀

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

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

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

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

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

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

    基于芯源CW32 MCU的LED閃爍示例及代碼分析

    最近我在項目中使用了芯源的CW32 MCU,這是一款非常適合物聯網和低功耗應用的微控制器。在初步學習和使用中,我做了一個簡單的LED閃爍實驗,通過這篇帖子給大家分享一下代碼及相關的配置步驟。 硬件
    發表于 12-04 06:52

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

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

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

    Banana Pi BPI-CM6 系統模塊 (SoM) 采用 SpacemiT K1 8 核 RISC-V 處理器,并且與大多數為 Raspberry Pi CM4 或 CM5 設計的載板兼容
    的頭像 發表于 11-28 16:57 ?2350次閱讀
    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 系統模塊

    Raspberry Pi攜手上海晶珩 助力工業與物聯網創新

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

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

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

    【創龍TLT113-MiniEVM開發板試用體驗】T113開發板LED閃爍控制終極教程

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

    貿澤開售Raspberry Pi用于嵌入式和IIoT應用的RP2350微控制器

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

    如何在Raspberry Pi OS上安裝SDK?

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

    Raspberry Pi 計算機流行的工業

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

    如何讓 Raspberry Pi 煥發網絡新生機?

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

    貿澤開售適用于AI和嵌入式應用的 全新Raspberry Pi Compute Module 5

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