函数介绍
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 灯实验的全部内容,更多相关ESP32S3内容请搜索靠谱客的其他文章。
发表评论 取消回复