<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                GPIO(General Purpose I/O Ports)意思是通用輸入/輸出端口, 通俗的說就是一些引腳,可以通過它們輸出高低電平或者通過它們讀入引腳的狀態(高電平/低電平)。 樹莓派上有40根排針,引腳編號按照物理位置來編號,最靠近角上那一根引腳為2號引腳。旁邊是1號引腳。 <p id="color" style="color:purple" align="center">圖 樹莓派引腳規則示意圖</p> 那么這40根引腳具體的用途和定義是什么呢,可以參照下圖(樹莓派的引腳圖)。 <div align="center"><img src="images/screenshot_1559124463574.png"/></div> <b>注意:</b> 樹莓派我們編程一般直接用Python,針對GPIO編程,Python提供了第三方庫,常用的是RPI.GPIO。 ## 安裝RPI.GPIO庫 終端輸入命令 ``` sudo apt-get -y python-pip #安裝pip sudo pip install rpi.gpio #安裝RPI.GPIO ``` 樹莓派不同版本引腳可能有差別,可以使用命令 ``` gpio readall ``` 打印出所有管腳。 <div align="center"><img src="images/screenshot_1559199732757.png"/></div> ## 控制GPIO編程 ### 導入RPi.GPIO庫 可以用下面的代碼導入RPi.GPIO模塊 ``` python import PRi.GPIO as GPIO ``` 導入之后,就可以使用GPIO模塊的函數了。如果想檢查模塊是否導入成功,也可以這樣寫: ```py try: import RPi.GPIO as GPIO exceptRuntimeError: print("error") ``` ### 針腳編號 在RPi.GPIO中,同時支持樹莓派上的兩種GPIO引腳編號。第一種編號是BOARD編號,這和樹莓派電路板上的屋里引腳編號相對應。第二種編號是BCM規則,更底層的工作方式,需要保證主板上的針腳與圖表上標注的通道編號相對應。 指定使用的針腳編號 ```python GPIO.setmode(GPIO.BOARD) ``` 或 ```python GPIO.setmode(GPIO.BCM) ``` ### 配置通道 需要為每個用于輸入/輸出的針腳配置通道。 配置某一針腳為輸入: ```python GPIO.setup(channel, GPIO.IN) ``` <b>注意:</b>channel是通道編號,取決于你指定的是BOARD還是BCM編號。 例如,當你硬件接到了樹莓派的11號引腳(物理引腳),如果你指定BOARD編號,則channel是11;如果指定BCM編號,則channel是17。<br> 配置某一針腳為輸出: ```python GPIO.setup(channel, GPIO.OUT) ``` channel是通道編號,取決于你指定的是BOARD還是BCM編號。 另外,還可以指定輸出通道的初始值: ```python GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH) #初始值為高電平 ``` 或 ```python GPIO.setup(channel, GPIO.OUT, initial=GPIO.LOW) #初始值為低電平 ``` ### 輸入 讀取GPIO針腳的值: ```python GPIO.input(channel) ``` channel是通道編號,取決于你指定的是BOARD還是BCM編號。 GPIO.input()讀出的值為0/GPIO.LOW/False或1/GPIO.HIGH/True。 ### 輸出 設置GPIO針腳的輸出: ```python GPIO.output(channel, state) ``` channel是通道編號,基于你指定的是BOARD還是BCM編號。state取值為0/GPIO.LOW或1/GPO.HIGH。 ## 清理 程序結束后,設置所有使用的通道狀態為輸入,可以避免由于短路意外損壞樹莓派針腳。 <b>注意:</b>該操作僅會清除腳本使用過的GPIO通道。 在腳本結束后,進行清理: ```python GPIO.cleanup() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看