日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ESP8266 SDK开发: 外设篇-GPIO输出高低电平

發布時間:2023/12/15 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 ESP8266 SDK开发: 外设篇-GPIO输出高低电平 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開發板原理圖

  一,LED(GPIO2)

    

  二,繼電器(GPIO5)

    

  

NONOS(2.2.0)

NONOS(2.2.0)

NONOS(2.2.0)

1.設置GPIO輸出高低電平

設置GPIO2輸出高電平

GPIO_OUTPUT_SET(2, 1);

設置GPIO2輸出低電平

GPIO_OUTPUT_SET(2, 0);

不過正常流程是先設置這個引腳的功能

PIN_FUNC_SELECT(IO口的寄存器地址 , 功能)

舉例1:配置 GPIO2作為普通IO

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);

舉例2:配置 GPIO2作為串口功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_UART1_TXD_BK);

  說一下:FUNC_UART1_TXD_BK 這個我具體也不知道是什么意思,只知道可能是作為串口1的TX輸出

舉例3:配置 GPIO5作為普通IO功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);

注: 這一個是默認的功能

  

  注:在配置完PIN_FUNC_SELECT 以后,當前引腳為高阻態,既不是高電平也不是低電平.

測試(GPIO2輸出高電平點亮LED)

#include "gpio.h"

PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U ,FUNC_GPIO2);

GPIO_OUTPUT_SET(2, 1);//設置GPIO2輸出高電平

測試(GPIO2輸出低電平,GPIO5輸出高電平控制繼電器吸合)

#include "gpio.h"

GPIO_OUTPUT_SET(2, 0);//設置GPIO2輸出低電平

GPIO_OUTPUT_SET(5, 1);//設置GPIO5輸出高電平

如果控制有SPI功能的引腳,需要寫上一句話,否則不能控制

WRITE_PERI_REG(PERIPHS_IO_MUX, 0x105);

RTOS(2.2.0)

RTOS(2.2.0)

RTOS(2.2.0)

  官方提供了兩個函數

  

  

GPIO_OUTPUT_SET(gpio_no, bit_value)

設置GPIO2輸出高電平

GPIO_OUTPUT_SET(2, 1);

設置GPIO2輸出低電平

GPIO_OUTPUT_SET(2, 0);

GPIO_OUTPUT(gpio_bits, bit_value)

官方提供的一次性設置多個引腳函數

設置GPIO2和GPIO5輸出高電平

GPIO_OUTPUT(BIT2 | BIT5, 1);

設置GPIO2和GPIO5輸出低電平

GPIO_OUTPUT(BIT2 | BIT5, 0);

不過正常流程是先設置這個引腳的功能

PIN_FUNC_SELECT(IO口的寄存器地址 , 功能)

舉例1:配置 GPIO2作為普通IO

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);

舉例2:配置 GPIO2作為串口功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_UART1_TXD_BK);

  說一下:FUNC_UART1_TXD_BK 這個我具體也不知道是什么意思,只知道可能是作為串口1的TX輸出

舉例3:配置 GPIO5作為普通IO功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5);

注: 這一個是默認的功能

  

  注:在配置完PIN_FUNC_SELECT 以后,當前引腳為高阻態,既不是高電平也不是低電平.

  

測試(GPIO2輸出高電平點亮LED)

#include "gpio.h"

PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U ,FUNC_GPIO2);

GPIO_OUTPUT_SET(2, 1);//設置GPIO2輸出高電平

測試(GPIO2輸出低電平,GPIO5輸出高電平控制繼電器吸合)

#include "gpio.h"

GPIO_OUTPUT_SET(2, 0);//設置GPIO2輸出低電平

GPIO_OUTPUT_SET(5, 1);//設置GPIO5輸出高電平

測試(GPIO2輸出低電平,GPIO5輸出低電平)

#include "gpio.h"

PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5);

GPIO_OUTPUT(BIT2 | BIT5, 0);//設置GPIO2和GPIO5輸出低電平

總結

以上是生活随笔為你收集整理的ESP8266 SDK开发: 外设篇-GPIO输出高低电平的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。