91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

基本GPIO輸出控制簡述

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-03 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

你好,我是愛吃魚香ROS的小魚。上一節(jié)了解了MicroROS學(xué)習(xí)板的LED電路原理,最后得到結(jié)論是通過控制ESP_IO2的電平就可以控制電壓,接下來我們就嘗試?yán)?a target="_blank">Arduino的ESP_IO2對IO進(jìn)行控制。

教程所使用硬件平臺為MicroROS學(xué)習(xí)板V1.0.0,可點(diǎn)擊閱讀原文購買及查看詳情

圖片

一、GPIO控制介紹

1.1 什么是GPIO

首先我們了解下GPIO(General-purpose input/output),中文名通用型之輸入輸出的簡稱。

  • 輸出模式,指GPIO是可以通過程序 控制其電壓高低 ,普通的GPIO只能輸出(低電平0V)和高電平(3.3V,有的單片機(jī)是5V)。
  • 輸入模式,指GPIO可以 讀取其上的電壓 ,普通的GPIO只能讀取低電平和高電平兩種。比如當(dāng)我們想測試一個按鍵是否被按下,就可以GPIO的輸入功能。

1.2 GPIO控制API

Arduino提供了簡單易用的API來控制IO的輸入和輸出。

1.2.1 引腳模式設(shè)置-pinMode

該函數(shù)用于定義特定引腳的 GPIO 操作模式。

void pinMode(uint8_t pin, uint8_t mode);
  • pin定義 GPIO 引腳編號。
  • mode設(shè)置操作模式。

基本輸入和輸出支持以下模式:

  • INPUT將 GPIO 設(shè)置為不帶上拉或下拉(高阻抗)的輸入。
  • OUTPUT將 GPIO 設(shè)置為輸出/讀取模式。
  • INPUT_PULLDOWN 將 GPIO 設(shè)置為具有內(nèi)部下拉列表的輸入。
  • INPUT_PULLUP 將 GPIO 設(shè)置為帶有內(nèi)部上拉的輸入。

1.2.2 數(shù)字輸出-digitalWrite

digitalWrite用于設(shè)置被配置為OUTPUT模式的引腳電平為HIGHLOW

void digitalWrite(uint8_t pin, uint8_t val);
  • pin所設(shè)置的GPIO編號。
  • val將輸出數(shù)字狀態(tài)設(shè)置為HIGHLOW

1.2.3 數(shù)字輸入-digitalRead

digitalRead用于讀取配置為INPUT模式的給定引腳的狀態(tài)。

int digitalRead(uint8_t pin);
  • pin 所設(shè)置的GPIO編號。

此函數(shù)將返回所選引腳的邏輯狀態(tài)為 HIGHLOW。

有了上面三個函數(shù),我們就可以編寫代碼了。

二、編寫LED閃爍代碼

新建example02_led工程,接著輸入下面的代碼。

/**
 * @file main.cpp
 * @author fishros@foxmail.com
 * @brief 使LED燈亮1s關(guān)閉1s,持續(xù)閃爍
 * @version 0.1
 * @date 2022-12-19
 *
 * @copyright Copyright (c) 2022
 *
 */
#include < Arduino.h >

void setup()
{
  // put your setup code here, to run once:
  pinMode(2, OUTPUT); // 設(shè)置2號引腳模式為OUTPUT模式
}

void loop()
{
  // put your main code here, to run repeatedly:
  digitalWrite(2, LOW);  // 低電平,打開LED燈
  delay(1000);           // 休眠1000ms
  digitalWrite(2, HIGH); // 高電平,關(guān)閉LED燈
  delay(1000);           // 休眠1000ms
}

這里我們讓LED亮1s關(guān)閉1s,持續(xù)閃爍,代碼很簡單,不再講解。

編譯下載代碼到開發(fā)板,接著觀察現(xiàn)象,你會發(fā)現(xiàn)藍(lán)色LED燈在不斷閃爍。

三、通過串口控制LED

我們繼續(xù)更新下工程代碼,實(shí)現(xiàn)通過串口指令來控制LED的亮滅。

#include < Arduino.h >

void setup()
{
  Serial.begin(115200);
  pinMode(2, OUTPUT); // 設(shè)置2號引腳模式為OUTPUT模式
}

void loop()
{
  // LED串口控制代碼
  if (Serial.available())
  {
    String command = Serial.readString();
    if (command == "on")
    {
      digitalWrite(2, LOW); // 低電平,打開LED燈
    }
    else if (command == "off")
    {

      digitalWrite(2, HIGH); // 高電平,關(guān)閉LED燈
    }
  }

  /* // LED閃爍代碼
    digitalWrite(2, LOW);  // 低電平,打開LED燈
    delay(1000);           // 休眠1000ms
    digitalWrite(2, HIGH); // 高電平,關(guān)閉LED燈
    delay(1000);           // 休眠1000ms
  */
}

通過串口讀取指令,收到on則打開LED,收到off關(guān)閉LED。

將代碼下載到開發(fā)板,接著打開串口監(jiān)視器,輸入指令進(jìn)行測試。

圖片

四、總結(jié)

至此,我們成功完成了點(diǎn)燈,掌握了基本的GPIO輸出控制,下一節(jié)我們嘗試使用按鍵輸入來控制LED燈。

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

    關(guān)注

    242

    文章

    23848

    瀏覽量

    674259
  • 輸入輸出
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    10899
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1280

    瀏覽量

    54122
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    介紹DSP28335的GPIO輸出高低電平功能

    GPIO(General Purpose Intput Oytput)是通用輸入輸出端口的簡稱,可以通過軟件來控制其輸入和輸出
    發(fā)表于 07-07 17:21 ?1w次閱讀
    介紹DSP28335的<b class='flag-5'>GPIO</b>的<b class='flag-5'>輸出</b>高低電平功能

    GPIO輸出--蜂鳴器

    程序簡介 -工程名稱:GPIO輸出--蜂鳴器 -實(shí)驗(yàn)平臺: 秉火STM32 F429 開發(fā)板 -MDK版本:5.16 -ST固件庫版本:1.5.1 【 !】功能簡介: 控制開發(fā)板上的蜂鳴器(有源
    發(fā)表于 12-12 19:02 ?4次下載

    STM32的GPIO輸出編程實(shí)例之點(diǎn)亮三色LED

    本實(shí)驗(yàn)通過STM32的三個GPIO口驅(qū)動三色LED的三個通道,將GPIO設(shè)置為推挽輸出模式,采用灌電流的方式與LED連接,GPIO輸出高電平
    的頭像 發(fā)表于 02-07 11:14 ?2.9w次閱讀
    STM32的<b class='flag-5'>GPIO</b><b class='flag-5'>輸出</b>編程實(shí)例之點(diǎn)亮三色LED

    CC2530 GPIO輸出控制-控制Led亮滅實(shí)驗(yàn)資料下載

    CC2530 GPIO輸出控制-控制Led亮滅實(shí)驗(yàn)資料下載
    發(fā)表于 05-03 09:47 ?1次下載

    CC2530的GPIO輸出控制-Led閃爍、流水燈實(shí)驗(yàn)資料下載

    CC2530的GPIO輸出控制-Led閃爍、流水燈實(shí)驗(yàn)資料下載
    發(fā)表于 05-03 09:42 ?6次下載

    使用 RPi.GPIO 模塊的輸出(Output)功能

    , GPIO.OUT)2、設(shè)置某個輸出針腳狀態(tài)為高電平:12345GPIO.output(12, GPIO.HIGH)?# 或者GPIO.o
    發(fā)表于 04-02 14:42 ?1079次閱讀

    二.GPIO輸入輸出及延遲函數(shù)

    一. GPIO八種模式,四種輸入,四種輸出1.GPIO輸入初始化void GPIO_Config(void){ GPIO_InitTypeD
    發(fā)表于 11-24 20:06 ?1次下載
    二.<b class='flag-5'>GPIO</b>輸入<b class='flag-5'>輸出</b>及延遲函數(shù)

    04、STM8通用輸入輸出口(GPIO)

    04、STM8通用輸入輸出口(GPIO)文章目錄04、STM8通用輸入輸出口(GPIO)1、概述2、GPIO主要功能3、I/O 的配置和使用
    發(fā)表于 11-26 15:21 ?9次下載
    04、STM8通用輸入<b class='flag-5'>輸出</b>口(<b class='flag-5'>GPIO</b>)

    STM32的8種GPIO輸入輸出模式

    STM32的8種GPIO輸入輸出模式參考文章“STM32的8種GPIO輸入輸出模式深入詳解”和“STM32中GPIO的8種工作模式!”輸入模
    發(fā)表于 11-26 17:06 ?16次下載
    STM32的8種<b class='flag-5'>GPIO</b>輸入<b class='flag-5'>輸出</b>模式

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業(yè)現(xiàn)場需要
    發(fā)表于 12-20 18:58 ?6次下載
    <b class='flag-5'>GPIO</b>通用輸入<b class='flag-5'>輸出</b>

    USB音頻輸入/輸出控制器DP108簡述和特征

    USB音頻輸入/輸出控制器DP108 簡述和特征
    發(fā)表于 10-26 18:01 ?2013次閱讀

    通用輸入輸出GPIO是什么

    GPIO代表通用輸入/輸出。它是集成電路上的一種引腳,沒有特定功能。雖然大多數(shù)引腳都有專用用途,例如向特定組件發(fā)送信號,但 GPIO 引腳的功能是可定制的,并且可以由軟件控制。 引腳模
    發(fā)表于 03-23 14:04 ?1667次閱讀
    通用輸入<b class='flag-5'>輸出</b><b class='flag-5'>GPIO</b>是什么

    GPIO配置不同輸出速度會有什么影響

    單片機(jī)GPIO配置不同輸出速度有何區(qū)別?
    的頭像 發(fā)表于 09-18 15:43 ?2582次閱讀
    <b class='flag-5'>GPIO</b>配置不同<b class='flag-5'>輸出</b>速度會有什么影響

    GPIO使用教程 GPIO接口應(yīng)用

    GPIO(General-Purpose Input/Output,通用輸入/輸出)接口是電子設(shè)備中的一個重要組成部分,主要用于控制和讀取設(shè)備的數(shù)字信號。它通過簡單的高(1)或低(0)電平來與系統(tǒng)
    的頭像 發(fā)表于 01-31 10:10 ?3378次閱讀

    GPIO錯誤排查與解決

    在嵌入式系統(tǒng)和微控制器編程中,通用輸入輸出GPIO)是最常見的接口之一。然而,在使用GPIO時,我們可能會遇到各種錯誤。 1. 理解GPIO
    的頭像 發(fā)表于 01-09 09:46 ?2336次閱讀
    主站蜘蛛池模板: 日操夜操 | 天天怕夜夜怕狠狠怕 | 天堂最新资源在线 | 日韩免费毛片全部不收费 | 真人实干一级毛片aa免费 | 人人干干人人 | 涩色影院| 久热操 | 免费精品美女久久久久久久久 | 国产精品资源在线播放 | 亚洲日本一区二区三区 | 1300部小u女视频免费 | 老师叫我揉她内裤越快越好 | 视频一区中文字幕 | 亚洲嫩草影院在线观看 | 美国一级大黄香蕉片 | 色姑娘网 | 日本三级黄在线观看 | 狠狠色狠狠色综合日日小蛇 | 黄色国产在线观看 | 拍拍拍无档又黄又爽视频 | 四虎最新影院 | 道区二区三区四区 | 99久久精品免费看国产 | 色综合一区二区三区 | 99久热只有精品视频免费观看17 | 国产汉服被啪福利在线观看 | bt种子天堂| 亚洲精品mv在线观看 | 国产亚洲人成网站天堂岛 | 日韩特级毛片免费观看视频 | 日韩h视频| 四虎国产精品永久在线看 | 色噜噜在线视频 | 日本高清色视频www 日本高清色视频在线观看免费 | 国产va在线 | japanese日本护士xx亚洲 | 华人被黑人粗大猛然进 | 天堂资源在线官网资源 | www.色老头.com| 天天爽夜夜爽人人爽 |