中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

樹莓派GPIO的示例分析

發布時間:2021-11-19 19:11:41 來源:億速云 閱讀:130 作者:柒染 欄目:互聯網科技

這篇文章將為大家詳細講解有關樹莓派GPIO的示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

該程序包提供了一個在 Raspberry Pi 中控制 GPIO 的類。
注意,該模塊不適合應用到追求實時性或計數周期的應用中。這是由于您無法預測 Ptyhon 何時繁忙,以及資源回收的時間。而且它是運行在基于 Linux 核心的系統中,也不合適用于實時應用 - 原因在于其它進程可能獲得更高的 CPU 優先級。
還需要注意一點,目前的版本還不支持 Raspberry Pi 的 SPI、I2C、1-wire、串口等功能。計劃在不久的將來會實現的!

導入模塊
導入 RPi.GPIO 模塊:

importRPi.GPIO as GPIO

通過該操作,您可以將模塊名稱映射為 GPIO,以便接下來您其它腳本進行使用。
導入模塊并檢查它是否導入成功,可以嘗試:

importRPi.GPIO as GPIO
exceptRuntimeError:
print("導入 RPi.GPIO 時出現錯誤!這可能由于沒有超級用戶權限造成的。您可以使用 'sudo' 來運行您的腳本。")

針腳編號
目前有兩種方式可以通過 RPi.GPIO 對 Raspberry Pi 上的 IO 針腳進行編號。
第一種方式是使用 BOARD 編號系統。該方式參考 Raspberry Pi 主板上 P1 接線柱的針腳編號。使用該方式的優點是無需考慮主板的修訂版本,您硬件始終都是可用的狀態。您將無需從新連接線路和更改您的代碼。
第二種方式是使用 BCM 編號。這是一種較低層的工作方式 - 該方式參考 Broadcom SOC 的通道編號。使用過程中,您始終要保證主板上的針腳與圖表上標注的通道編號相對應。您的腳本可能在 Raspberry Pi 主板進行修訂版本更新時無法工作。
指定您所使用的方式(必須指定):

GPIO.setmode(GPIO.BOARD)

或者

GPIO.setmode(GPIO.BCM)

警告
可能您的 Raspberry Pi 的 GPIO 上同時有多個腳本/循環。因此,如果 RPi.GPIO 檢測到某個針腳被設置為其它用途而非默認的狀態(默認為輸入),您會在嘗試配置某腳本時得到警告消息。
禁用該警告消息:

GPIO.setwarnings(False)
配置通道
您需要為每個用于輸入或輸出的針腳配置通道。
配置為輸入的通道:
GPIO.setup(channel, GPIO.IN)

(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
更多關于輸入通道的進階信息可以在這里找到。
配置為輸出的通道:

GPIO.setup(channel, GPIO.OUT)

(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
您還可以指定輸出通道的初始值:

GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)

輸入
讀取 GPIO 針腳的值:

GPIO.input(channel)

(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)這將返回 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。

輸出
設置 GPIO 針腳的輸出狀態:

GPIO.output(channel, state)

(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
狀態可以為 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。

清理
在任何程序結束后,請養成清理用過的資源的好習慣。使用 RPi.GPIO 也同樣需要這樣。恢復所有使用過的通道狀態為輸入,您可以避免由于短路意外損壞您的 Raspberry Pi 針腳。注意,該操作僅會清理您的腳本使用過的 GPIO 通道。
在您的腳本結束后進行清理:

GPIO.cleanup()


Raspberry Pi 修訂版本和 RPi.GPIO 版本
檢測 Raspberry Pi 主板的修訂版本:

GPIO.RPI_REVISION

檢測 RPi.GPIO 的版本:

GPIO.VERSION

關于樹莓派GPIO的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普洱| 平乡县| 错那县| 武乡县| 丰原市| 文成县| 海口市| 苏尼特左旗| 湘潭市| 洛扎县| 应城市| 新建县| 永嘉县| 西宁市| 开封县| 抚松县| 分宜县| 宁陕县| 英山县| 塔河县| 三原县| 开平市| 张家口市| 渝北区| 灵丘县| 湖北省| 石景山区| 垦利县| 大余县| 五河县| 静宁县| 阳曲县| 巴林左旗| 镇远县| 吉木乃县| 淄博市| 塔河县| 杨浦区| 襄垣县| 昌平区| 团风县|