博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ESP32 GPIO入门之闪灯
阅读量:6821 次
发布时间:2019-06-26

本文共 1715 字,大约阅读时间需要 5 分钟。

第一章 ESP32 GPIO入门之闪灯

 

概述

    本文为ESP32 学习,GPI0入门之闪灯,更多学习目录请查阅。

1.1 基本概念

    ESP32 芯片有 40 个物理 GPIO pad,有部分 GPIO pad 不可用或者没有对应的芯片封装上的管脚。每个 pad 都可用作一个通用 IO,或连接一个内部的外设信号的。 IO_MUX、 RTC IO_MUX 和 GPIO 交换矩阵用于将信号从外设传输至 GPIO pad。这些模块共同组成了芯片的 IO 控制。

1.1.1种输入输出模式

GPIO_MODE_INPUT 输入

GPIO_MODE_OUTPUT 输出
GPIO_MODE_OUTPUT_OD 开漏输出
GPIO_MODE_INPUT_OUTPUT_OD 开漏输入输出
GPIO_MODE_INPUT_OUTPUT 输入输出

1.1.2 中断类型

GPIO_INTR_DISABLE 禁用GPIO中断

GPIO_INTR_POSEDGE GPIO中断类型:上升沿
GPIO_INTR_NEGEDGE 下降沿
GPIO_INTR_ANYEDGE 上升沿和下降沿
GPIO_INTR_LOW_LEVEL 输入低电平触发
GPIO_INTR_HIGH_LEVEL 输入高电平触发

1.1.3 上下拉使能

GPIO_PULLUP_DISABLE 禁用GPIO上拉电阻

GPIO_PULLUP_ENABLE 启用GPIO上拉电阻
GPIO_PULLDOWN_DISABLE 禁用GPIO下拉电阻
GPIO_PULLDOWN_ENABLE 启用GPIO下拉电阻

1.1.4 驱动能力

GPIO_DRIVE_CAP_0 弱 weak

GPIO_DRIVE_CAP_1 强
GPIO_DRIVE_CAP_2 默认值
GPIO_DRIVE_CAP_DEFAULT 默认值
GPIO_DRIVE_CAP_3 最强

1.2  实现函数分析

/* GPIO Example *  * Brief: * This test code shows how to configure gpio and blink led * * USED GPIO:  GPIO16(blue led) * * func: blink led * * note: * */ #include 
#include
#include
#include "freertos/FreeRTOS.h"#include "freertos/task.h"#include "freertos/queue.h"#include "driver/gpio.h"#include "esp_system.h"#include "esp_err.h"#include "esp_event_loop.h"#include "esp_event.h"#include "esp_attr.h"#include "esp_log.h"#include "esp_eth.h"#define GPIO_BLUE_LED 16static const char *TAG = "GPIO_Example";void hw_gpio_init(void){ gpio_config_t io_conf; //disable interrupt io_conf.intr_type = GPIO_PIN_INTR_DISABLE; //set as output mode io_conf.mode = GPIO_MODE_OUTPUT; //bit mask of the pins that you want to set,e.g.GPIO16 io_conf.pin_bit_mask = (1<
View Code

 

转载于:https://www.cnblogs.com/mrsandstorm/p/7657806.html

你可能感兴趣的文章
Memcached与Redis(二)
查看>>
docker-3:docker swarm群集初部署
查看>>
保留两位小数
查看>>
CentOS7.6破解root口令之方法一
查看>>
思科配置命令
查看>>
python --001简介
查看>>
Changing the Filter of a List Collector Variable v
查看>>
浅谈NAT概念及原理,配置NAT 网络地址转换---PAT端口地址转换;
查看>>
线上防雪崩利器——熔断器设计原理与实现
查看>>
mongodb 增删查改
查看>>
企业电子邮箱的企业网盘是什么?如何使用?
查看>>
openstack简易汉化
查看>>
centos6.4 ceph安装部署之cephFS
查看>>
“5G”不赶趟?这些国家开始研发“后5G”技术
查看>>
UI设计入门学习方法和学习路线
查看>>
Spark RDD转换成DataFrame的两种方式
查看>>
解决Android第三方库.so自动删除
查看>>
使用RMAN来克隆数据库
查看>>
资源分享redis中文入门手册
查看>>
对开发工具的认识
查看>>