精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

使用樹莓派控制GPIO教程

CHANBAEK ? 來源:頭條號科G棧 ? 作者:頭條號科G棧 ? 2023-03-24 11:26 ? 次閱讀

平臺:樹莓派 bcm2835 Raspberry Pi 3 Model B Rev 1.2

poYBAGQdGFOAGmsHAAKR98JiafE578.jpg

pYYBAGQdGFSAU6GmAABPVqbulAs111.jpg

應(yīng)用層控制gpio目前知道有兩種方式——通過gpio設(shè)備文件和內(nèi)存映射。

第一種,通過gpio設(shè)備文件

設(shè)備文件位于/sys/class/gpio目錄下

poYBAGQdGFSAYPvLAABdJwERqlQ385.jpg

通過向export中寫gpio號可以掛載對應(yīng)的gpio,gpio號是bcm的號,不是wiringPi的。

pYYBAGQdGFaAb9PuAAMjlemaGx4550.jpg

掛載后在gpio的文件夾下會有配置接口文件,向這些接口文件寫命令就能控制gpio了。

poYBAGQdGFeAZVnDAAEhMwe2MlI293.jpg

上面用echo這種方式寫成shell腳本就可以用腳本控制gpio了。

如果通過c語言控制,使用Linux操作文件的API編程即可。

pYYBAGQdGFiAUmgFAAGDPQk8JDI690.jpg

第二種,內(nèi)存映射

將gpio的地址映射到內(nèi)存空間,之后所有對這片內(nèi)存的操作就是對gpio的操作。使用mmap函數(shù)實現(xiàn)映射。物理內(nèi)存的設(shè)備文件是/dev/mem。

poYBAGQdGFiALjLtAABPaPhTz4g236.jpg

bcm2835的外設(shè)地址是0x3f000000,gpio的地址是外設(shè)地址基礎(chǔ)上偏移0x200000。

pYYBAGQdGFmAFh2MAADG8pGmlbc020.jpg

使用open函數(shù)可以打開mem設(shè)備文件,之后使用mmap函數(shù)映射,其返回值就是分配的內(nèi)存空間的起始地址。

poYBAGQdGFqADo81AAEurVNG0M0064.jpg

注:必須有管理員權(quán)限才能打開mem設(shè)備文件,所以運(yùn)行命令時必須加上sudo。

gpio有41個寄存器,每個寄存器都是32位的。

pYYBAGQdGFuATg0HAAK74GilLkM933.jpg

前六個用來設(shè)置gpio的功能,前五個寄存器每個設(shè)置10個gpio,最后一個設(shè)置4個,三個位設(shè)置一種功能。

poYBAGQdGFyACJW0AAJmNLQaiYw773.jpg

gpio的設(shè)置寄存器是第8和9,清除寄存器是第11和12。一個位對應(yīng)一個gpio。

pYYBAGQdGF2AXBIgAAEPwGAj7po002.jpg

poYBAGQdGF6AApiuAADQ_8Pyz-w458.jpg

根據(jù)以上寄存器的布局方式,可以使用下面的代碼來設(shè)置和控制gpio。圖中小寫gpio就是映射后返回的地址指針,g是gpio號。

pYYBAGQdGF-AaE43AAH3kMQp_5s997.jpg

poYBAGQdGGCAFthCAAC_NwUqB48471.jpg

小結(jié): 第一種方式比較適合對單獨(dú)gpio的控制,比如調(diào)試和測試,更適用腳本編程;第二種方式適合c代碼編程,更加通用方便。

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

    關(guān)注

    8

    文章

    2998

    瀏覽量

    73881
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4304

    瀏覽量

    62427
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    678

    瀏覽量

    21984
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1196

    瀏覽量

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

    關(guān)注

    116

    文章

    1698

    瀏覽量

    105520
收藏 人收藏

    評論

    相關(guān)推薦

    樹莓控制gpio

    樹莓在哪里編寫程序控制gpio引腳
    發(fā)表于 07-23 09:05

    樹莓是如何控制GPIO輸入輸出的?

    ://shumeipai.nxez.com/2016/09/28/rpi-gpio-module-inputs.html#]https://blog.csdn.net/qq_41204464
    發(fā)表于 07-08 07:42

    通過Python RPi.GPIO控制樹莓引腳

    零、匯總通過Python RPi.GPIO 控制樹莓引腳輸出高低電平、脈沖電平驅(qū)動器接收接收樹莓
    發(fā)表于 08-31 07:59

    樹莓gpio應(yīng)用

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領(lǐng)域具有良好的分享
    發(fā)表于 11-09 15:10 ?4187次閱讀

    樹莓gpio接口及編程方法

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領(lǐng)域具有良好的分享
    發(fā)表于 11-22 11:54 ?6.5w次閱讀

    樹莓gpio有什么用_怎么用

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領(lǐng)域具有良好的分享
    發(fā)表于 12-06 09:05 ?1.6w次閱讀

    用網(wǎng)頁控制樹莓GPIO引腳

    電子發(fā)燒友網(wǎng)站提供《用網(wǎng)頁控制樹莓GPIO引腳.zip》資料免費(fèi)下載
    發(fā)表于 11-16 14:57 ?1次下載
    用網(wǎng)頁<b class='flag-5'>控制</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的<b class='flag-5'>GPIO</b>引腳

    樹莓驅(qū)動步進(jìn)電機(jī)

    步進(jìn)電機(jī)一般由電機(jī)、驅(qū)動器構(gòu)成,樹莓連接驅(qū)動器控制電機(jī)。 一、接線 DIR+/- 用于控制方向,PUL+/- 用于控制轉(zhuǎn)動; 正極?DIR
    發(fā)表于 03-20 14:40 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動步進(jìn)電機(jī)

    樹莓驅(qū)動步進(jìn)電機(jī)

    ?閑了無聊,想用樹莓驅(qū)動步進(jìn)電機(jī)。 測試了兩天終于OK了 下圖是DM422C接步進(jìn)電機(jī)和樹莓GPIO 步進(jìn)電機(jī)紅綠 一組, 黃藍(lán) 一組
    發(fā)表于 03-21 14:26 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動步進(jìn)電機(jī)

    樹莓控制步進(jìn)電機(jī)

    樹莓控制步進(jìn)電機(jī) 前言 設(shè)備 連接 源碼 前言 測試步進(jìn)電機(jī) 設(shè)備 名稱 型號 樹莓 3B+ 步進(jìn)電機(jī) 28BYJ-48-5V 步進(jìn)電機(jī)
    發(fā)表于 03-21 11:39 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>步進(jìn)電機(jī)

    樹莓控制PWM控制電機(jī)轉(zhuǎn)速

    python庫配置 安裝GPIO庫 sudo apt-get install python3-rpi.gpio 電機(jī)控制程序 import time import RPi.GPIO a
    發(fā)表于 03-31 10:59 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>PWM<b class='flag-5'>控制</b>電機(jī)轉(zhuǎn)速

    樹莓控制繼電器

    樹莓控制繼電器命令行輸入gpio readall查看樹莓io口屬性可以看到被分為左右兩側(cè),左
    發(fā)表于 04-21 11:50 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>繼電器

    Linux樹莓開發(fā)之wiringPi庫,樹莓控制繼電器

    wiringPi庫是樹莓的IO控制庫,使用C語言開發(fā),提供了非常多的接口供使用,包括GPIO,中斷,多線程,等。 在樹莓
    發(fā)表于 05-04 11:10 ?7次下載
    Linux<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>開發(fā)之wiringPi庫,<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>繼電器

    使用樹莓GPIO口點(diǎn)亮雙色LED燈

    上一篇文章向大家介紹樹莓的硬件部分、安裝操作系統(tǒng)及基礎(chǔ)設(shè)置。這篇文章將介紹樹莓的強(qiáng)大的開發(fā)功能口——GPIO,以及利用
    的頭像 發(fā)表于 07-04 11:34 ?2165次閱讀
    使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>GPIO</b>口點(diǎn)亮雙色LED燈

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓提供的一組可編程的引腳,是樹莓與外部世界進(jìn)行交互的重要橋梁。通過GPIO,用戶可以
    的頭像 發(fā)表于 10-22 18:09 ?484次閱讀