函数介绍

ESP32S3 的 ESP-IDF 编程指南可以从官网上查询:

ESP-IDF 编程指南 - ESP32 - — ESP-IDF 编程指南 latest 文档

在这个实验里,实际上就是要设置 IO 口为输出功能,然后拉高拉低就可以了,分三步:选择 IO 口、 设置为输出功能和控制高低。

(1)   选择 IO 口

选择 IO 口是通过函数 gpio_pad_select_gpio()来实现的,这个函数只有一个参数,即 IO 口的序号。 比如选择 IO32,可以这样写:

gpio_pad_select_gpio(32);

(2)   设置为输出功能

设置 IO 口方向是通过函数 gpio_set_direction()来实现的,这个函数有二个参数,第一个参数是 IO 口的序号,第二个参数是方向(输出:GPIO_MODE_OUTPUT,输入:GPIO_MODE_INPUT),比如设置 IO32 为输出功能,可以这样写:

gpio_set_direction(32,GPIO_MODE_OUTPUT);

(3)   控制高低

控制 IO 口的电平是通过函数 gpio_set_level 来实现,这个函数有二个参数,第一个参数是 IO 口的 序号,第二个参数是高或者低(也就是 0 和 1),比如设置 IO32 输出高电平,可以这样写:

gpio_set_level(32,1);

(4)   任务睡眠函数

为了实现 LED 闪烁功能,我们在这里引入了任务睡眠函数,定义如下:

void vTaskDelay(portTickType xTicksToDelay);

该函数目的在于告诉操作系统,现在无任务在做,请告诉 kernel 将时间分配给其他任务,并在某 个时间点将该任务唤醒。这个时间点就是函数的入参,一般都是以 tick 为单位。

vTaskDelay(1)约等于 10 毫秒,如果要延时 1 秒可以写 vTaskDelay(100)。

实验结果

按下开发板的复位键,观察板子上的灯变化。

禾木科技自营店 (yuewei.online)

ESP32S3 LED 灯实验相关推荐

  1. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  2. c语言代码大全表解释_正点原子Linux第十章C语言版LED灯实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第十章C语言版LED灯实验 第八章我们讲解了如何用汇编语 ...

  3. 驱动开发指南 第八章 汇编LED灯实验

    <I.MX6U 嵌入式 x Linux 驱动开发指南 V1.6 6>第八章 汇编LED灯实验 正点原子[第二期]手把手教你学Linux之ARM(MX6U)裸机篇 视频 选集 时间 P6 第 ...

  4. 树莓派:双色LED灯实验

    树莓派:双色LED灯实验 简介 一.实验效果 二.组件 三.实验原理 四.实验步骤 五.代码实现 简介 双色LED灯(双基色 LED灯),是指模块只能显示2种颜色,一般是红色和绿色,可以有三种状态:灭 ...

  5. Arduino小白学习记录:双色LED灯实验

    目录 一.介绍 二.材料准备 三.实验原理 四.实验过程 五.代码 六.效果展示 七.总结分析 一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采 ...

  6. 第一节:C#工业控制编程基础--点亮LED灯实验

    第一节:C#工业控制编程基础–点亮LED灯实验 文章目录 第一节:C#工业控制编程基础--点亮LED灯实验 一.实验目的: C#入门基础学习. 二.实验内容: 用C#控制LED的亮灭. 三.实验步骤: ...

  7. Alientek I.MX6UL Linux-第八章 汇编LED灯实验

    第八章 汇编LED灯实验 GPIO功能图 IO控制初始化所需要用到的寄存器 1. SW_MUX_CTL Register   Address:20E_0000h base+5Ch offset=20E ...

  8. 【正点原子FPGA连载】第十一章 触摸按键控制LED灯实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  9. 《STM32从零开始学习历程》——USART串口通讯实验篇2——指令控制LED灯实验

    <STM32从零开始学习历程>@EnzoReventon USART串口通讯实验篇2--指令控制LED灯实验 本实验是在<USART串口通讯实验篇1--中断接收与发送>的基础上 ...

最新文章

  1. mysql autocommit_【整理】MySQL 之 autocommit
  2. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...
  3. [恢]hdu 1865
  4. BAdI to control ALV grid display
  5. Android开发之EditText监听软键盘清除(输入是否清除)
  6. 使用命令行工具创建WildFly OpenShift应用程序
  7. 浅谈 Scala 中下划线的用途
  8. Linux中如何使用命令修改文件所属用户组
  9. 概率论经典问题 —— 三个事件 A、B、C 独立 ≠ 三个事件两两独立
  10. java递归删除文件夹_如何使用递归删除Java中的目录/文件夹
  11. Android开发:由模块化到组件化(一)
  12. 梦幻群侠传5帮派修炼_梦幻群侠传5手游下载
  13. 2019最新QQ音乐Api
  14. 最新elasticsearch版本与jdk版本对应图
  15. 操作系统进程互斥的软件实现算法(单标志法、双标志检查法、双标志后检查法以及皮尔森算法)
  16. 基于VUE使用Hbuilder工具开发的思维导图工具
  17. 前苏联切尔诺贝利辐射禁区拍摄到野生水獭吞食鱼
  18. 关于滤镜的使用,使图片默认为全灰色
  19. tp5 对接腾讯云聊天
  20. 图片分类-K近邻分类器

热门文章

  1. 软件生命周期之需求分析和设计
  2. java塔_Java-河内塔问题
  3. 异构计算 — CPU+GPU
  4. c++ copyfile
  5. VC++ CopyFile函数用法
  6. 哪些视频字幕提取软件好用?分享这三款好用的软件
  7. 数字音频与模拟音频的区别?
  8. 软件测试原书第二版(佩腾著)-学习笔记(二)
  9. hive on spark执行insert overwrite非常慢
  10. 《coredump问题原理探究》Linux x86版6.3节有成员变量的类coredump例子