久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4438|回復: 0
收起左側

樹莓派GPIO初級使用教程分享

[復制鏈接]
ID:447468 發表于 2018-12-18 16:06 | 顯示全部樓層 |閱讀模式
樹莓派在控制 GPIO 的時候一般有以下三種方式:
              Python GPIO

該庫更確切的名稱為 raspberry-gpio-python,樹莓派官方資料中推薦且容易上手。python GPIO 是一個小型的 python 庫,可以幫助用戶完成 raspberry 相關 IO 口操作。但是 python GPIO 庫 還沒有支持 SPI、I2C 或者 1-wire 等總線接口。除了 python GPIO 之外,還有眾多的 python 擴 展庫(例如 webiopi),毫無疑問的說 python 非常適合樹莓派,樹莓派也非常適合 python。

              wiringPi

wiringPi 適合那些具有 C 語言基礎,在接觸樹莓派之前已經接觸過單片機或者嵌入式開發的人 群。wiringPi 的 API 函數和 arduino 非常相似,這也使得它廣受歡迎。作者給出了大量的說明和 示例代碼,這些示例代碼也包括 UART 設備,I2C 設備和 SPI 設備等,毫無疑問地說 wiringPi 功能非常強大。

              BCM2835 C Library

BCM2835 C Library 可以理解為使用 C 語言實現的相關底層驅動,它給我的感覺更像 STM32 的 庫函數,BCM2835 C Library 的驅動庫包括 GPIO、SPI 和 UART 等,可以通過學習 BCM2835 C Library 熟悉 BCM2835 相關的寄存器操作。如果有機會開發樹莓派上的 linux 驅動,或自主開發 python 或 PHP 擴展驅動,可以從 BCM2835 C Library 找到不少的“靈感”。

準備工作
開始進行實驗之前,可能需要自己動手焊接一個簡單電路,也就是將一個 LED 燈和一個 1K 的 電阻串接并接在樹莓派上,其次若是首次使用 GPIO,可能需要通過網絡安裝 GPIO 庫,所以你 的樹莓派得連接網絡,硬件電路連接如下圖所示:

首次使用這三種庫都需要進行安裝,下面就針對每一種庫的安裝方法進行簡單說明
1,安裝Python GPIO
行版本的系統已經安裝好了,不過也可以使用
sudo apt-get install python-rpi.gpio
或者
sudo apt-get install python3-rpi.gpio
0.png


Physical那一列對應的就是樹莓派物理引腳的編號,BCM 就是BCM2835的定義,wPi那列就是
wiringPi的定義,當然在這里還能看到每個引腳的功能名稱,當前工作模式以及當前電壓。
用Python 實現
新建一個名為gpio_led.py 的文件,在windows下可以先新建一個記事本文件,然后把名字改
為 gpio_led.py 即可,注意擴展名也需要由原來的.txt更改為.py,在 Linux系統中也一樣,然后
用記事本打開文件,輸入如下內容:
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BOARD編號方式,基于插座引腳編號
GPIO.setmode(GPIO.BOARD)
# 輸出模式
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)
若是在 Windows下寫的程序,則可以用一個 FTP軟件將文件上傳到樹莓派中,然后用 cd命令
進入文件目錄,通過下面命令即可執行該程序,是不是看到LED閃爍起來了!
sudo python gpio_led.py
若不想程序執行了可以使用 Ctrl+C結束 Python程序。
用WiringPi 實現
新建一個 gpio_led.c的文件,將如下程序代碼輸入文件中
#include <wiringPi.h>
int main(void)
{
wiringPiSetup() ;
pinMode (0, OUTPUT) ;
for(;;)
{
digitalWrite(0, HIGH) ; delay (500) ;
digitalWrite(0, LOW) ; delay (500) ;
}
}
若該文件是在Windows系統下新建的,則需要用 FTP軟件上傳到樹莓派中,同樣使用 cd命令
進入文件所在目錄,然后使用如下命令進行程序的編譯鏈接:
gcc -Wall -o gpio_led gpio_led.c -lwiringPi
成功編譯后會在當前目錄下生成一個名為gpio_led的文件,使用 sudo ./gpio_led命令即可運
行程序,當然你不想程序運行了也可以使用 Ctrl+C結束程序運行。
用BCM2835 C Library 實現
同樣新建一個名為 gpio_led.c的程序文件,然后輸入如下程序內容:
#include <bcm2835.h>
// P1插座第 11腳
#define PIN RPI_GPIO_P1_11
int main(int argc, char **argv)
{
if (!bcm2835_init())
return 1;
// 輸出方式
bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);
while (1)
{
bcm2835_gpio_write(PIN, HIGH);
bcm2835_delay(100);
bcm2835_gpio_write(PIN, LOW);
bcm2835_delay(100);
}
bcm2835_close();
return 0;
}
若該文件是在Windows系統下新建的,則需要用 FTP軟件上傳到樹莓派中,同樣使用 cd命令
進入文件所在目錄,然后使用如下命令進行程序的編譯鏈接:
gcc -Wall -o gpio_led gpio_led.c -lbcm2835
成功編譯后會在當前目錄下生成一個名為gpio_led的文件,使用 sudo ./gpio_led命令即可運行程序,當然你不想程序運行了也可以使用 Ctrl+C結束程序運行。
結束語
以上內容都是針對初次使用 GPIO時需要做的工作,GPIO 本身功能還是比較強大的,比如SPI,I2C,UART 總線控制等。

完整的pdf格式文檔51黑下載地址:
樹莓派GPIO初級使用學習教程.pdf (262.52 KB, 下載次數: 27)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91大片| 日韩一级二级片 | 福利网站在线观看 | 日韩欧美久久精品 | 欧美在线视频免费 | 天天舔天天 | 久久一区视频 | 99伊人 | 欧美精品影院 | 精品久久久久久亚洲精品 | 日韩福利视频 | 国产精品自产拍 | 亚洲精品自在在线观看 | 香蕉大人久久国产成人av | 久久久久亚洲精品 | 国产高清精品一区二区三区 | 中文在线视频 | 日韩精品一区二区三区中文字幕 | 中文字幕av网站 | 成人免费视频7777777 | 日韩在线免费播放 | 中国一级特黄真人毛片免费观看 | 99re在线| wwwxxx日本在线观看 | 午夜精品久久久久久久久久久久久 | 久久久不卡网国产精品一区 | 一本色道精品久久一区二区三区 | 一级毛片黄片 | www国产成人 | 亚洲精品乱码久久久久久9色 | 欧美一区二区三区 | 午夜国产精品视频 | 免费v片| 四虎影院欧美 | 粉嫩国产精品一区二区在线观看 | 久久免费福利 | 人妖一区 | 亚洲一区久久 | 国产精品视频在线观看 | 国产高清视频一区 | 日日夜夜免费精品视频 |