前言
之所以开始进行ESP IDF的入门呢,是因为用一天看了下安卓开发,如果我们只是单纯的开发控制软件还是比较容易入门的,所以开始学习ESPIDF的使用,之后呢会使用ESP32开发一些简单的项目,写一个简单的安卓软件进行项目开发,磨练自己的技术,博主呢不是一个能够安安静静去看视频或咬文嚼字的人,从始至终觉得要学会一个东西还是需要去不断地用项目去磨练自己。
一、IO_MUX and GPIO Matrix
二、使用步骤
1.通过库函数配置
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "driver/gpio.h"
#define LED_PIN 2
void app_main(void)
{
gpio_reset_pin(LED_PIN); //引脚复位
gpio_pad_select_gpio(LED_PIN); //GPIO引脚功能选择
gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT); //设置方向为输出
while (1)
{
gpio_set_level(LED_PIN,1); //设置LED_PIN为高电平
sleep(1);
gpio_set_level(LED_PIN,0); //设置LED_PIN为低电平
sleep(1);
}
}
2.配置为输入模式
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "driver/gpio.h"
#define LED_PIN 2
#define KEY_PIN 5
void app_main(void)
{
gpio_pad_select_gpio(KEY_PIN); //模式设置
gpio_set_direction(KEY_PIN, GPIO_MODE_INPUT); //方向输入
gpio_pullup_en(KEY_PIN); //上拉使能
gpio_pulldown_dis(KEY_PIN); //下拉失能
int i = 0;
while (true)
{
i=gpio_get_level(KEY_PIN);
printf("%d\n", i);
sleep(1);
// gpio_set_level(LED_PIN,1);
// sleep(1);
// gpio_set_level(LED_PIN,0);
// sleep(1);
}
}
3.控制LED
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "driver/gpio.h"
#define LED_PIN 2
#define KEY_PIN 5
void app_main(void)
{
gpio_reset_pin(LED_PIN&KEY_PIN);
gpio_pad_select_gpio(LED_PIN&KEY_PIN);
gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);
gpio_set_direction(KEY_PIN, GPIO_MODE_INPUT);
gpio_pullup_en(KEY_PIN);
gpio_pulldown_dis(KEY_PIN);
int i = 0;
while (true)
{
i=gpio_get_level(KEY_PIN);
printf("%d\n", i);
if(i==0){
gpio_set_level(LED_PIN,1);
}else{
gpio_set_level(LED_PIN,0);
}
sleep(1);
}
}
4.GPIO结构体配置
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "driver/gpio.h"
#define LED_PIN 2
#define KEY_PIN 5
void app_main(void)
{
gpio_config_t io_config;
io_config.intr_type = GPIO_INTR_DISABLE;
io_config.mode = GPIO_MODE_OUTPUT;
io_config.pin_bit_mask =(1ULL<<LED_PIN);
io_config.pull_down_en=0;
io_config.pull_up_en=0;
gpio_config(&io_config);
int on=0;
while (1)
{
on=!on;
gpio_set_level(LED_PIN, on);
printf("%d\n",on);
sleep(1);
}
}
总结
本文学习了韦东山老师关于ESP的视频,由于关于esp方面的视频还是比较少的,大部分的还是需要根据官方文档进行学习,再接再厉。