色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

基本GPIO輸出控制簡(jiǎn)述

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-03 10:52 ? 次閱讀

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

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

圖片

一、GPIO控制介紹

1.1 什么是GPIO

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

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

1.2 GPIO控制API

Arduino提供了簡(jiǎn)單易用的API來控制IO的輸入和輸出。

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

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

void pinMode(uint8_t pin, uint8_t mode);
  • pin定義 GPIO 引腳編號(hào)。
  • 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編號(hào)。
  • val將輸出數(shù)字狀態(tài)設(shè)置為HIGHLOW 。

1.2.3 數(shù)字輸入-digitalRead

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

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

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

有了上面三個(gè)函數(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號(hào)引腳模式為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ù)閃爍,代碼很簡(jiǎn)單,不再講解。

編譯下載代碼到開發(fā)板,接著觀察現(xiàn)象,你會(huì)發(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號(hào)引腳模式為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)行測(cè)試。

圖片

四、總結(jié)

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

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

    關(guān)注

    242

    文章

    23339

    瀏覽量

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

    關(guān)注

    0

    文章

    42

    瀏覽量

    10764
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1216

    瀏覽量

    52267
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187557
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    快速搞懂GPIO控制器的六種模式

    在嵌入式系統(tǒng)和單片機(jī)開發(fā)中,GPIO(通用輸入輸出控制器是一個(gè)非常重要的組件。GPIO引腳的靈活性使它們能夠執(zhí)行多種功能,從簡(jiǎn)單的輸入輸出
    的頭像 發(fā)表于 05-18 08:04 ?1589次閱讀
    快速搞懂<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器的六種模式

    GPIO輸出--蜂鳴器

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

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

    本實(shí)驗(yàn)通過STM32的三個(gè)GPIO口驅(qū)動(dòng)三色LED的三個(gè)通道,將GPIO設(shè)置為推挽輸出模式,采用灌電流的方式與LED連接,GPIO輸出高電平
    的頭像 發(fā)表于 02-07 11:14 ?2.8w次閱讀
    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 ?5次下載

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

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

    二.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)的簡(jiǎn)稱,主要用于工業(yè)現(xiàn)場(chǎng)需要
    發(fā)表于 12-20 18:58 ?6次下載
    <b class='flag-5'>GPIO</b>通用輸入<b class='flag-5'>輸出</b>

    USB音頻輸入/輸出控制器DP108簡(jiǎn)述和特征

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

    通用輸入輸出GPIO是什么

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

    GPIO配置不同輸出速度會(huì)有什么影響

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

    GPIO錯(cuò)誤排查與解決

    在嵌入式系統(tǒng)和微控制器編程中,通用輸入輸出GPIO)是最常見的接口之一。然而,在使用GPIO時(shí),我們可能會(huì)遇到各種錯(cuò)誤。 1. 理解GPIO
    的頭像 發(fā)表于 01-09 09:46 ?240次閱讀
    主站蜘蛛池模板: 99re久久热在线播放8| 秋霞鲁丝片Av无码| 麻豆XXXX乱女少妇精品-百度| 欧美zzo交| 小女生RAPPER入口| www.x日本| 极品少妇高潮啪啪AV无码| 日本妞欧洲| 97超级碰久久久久香蕉人人| 国产综合91| 忘忧草秋观看未满十八| av影音先锋影院男人站| 久久妇女高潮几次MBA| 香港成人社区| 高清无码中文字幕影片| 免费观看a视频| 一久久| 国产免费人成在线视频有码| 欧美怡红院视频一区二区三区| 一级毛片免费视频网站| 国产一区二区内射最近更新| 少妇大荫蒂毛多毛大| 白人大战34厘米黑人BD| 男人叼女人| 67194线在线精品观看| 国精产品一区一区三区有限公司| 三级在线观看网站| xxnx18日本| 欧美雌雄双性人交xxxx| 6080yy奇领电影在线看| 久久精品中文字幕| 亚洲色欲啪啪久久WWW综合网| 国产毛片视频网站| 手机毛片在线观看| 国产a级黄色毛片| 色情内射少妇兽交| 大陆老熟女60岁| 色宅男午夜电影网站| 国产99久久九九精品无码不卡| 人人草人人草| 出差无套内射小秘书|