前言
之所以开始进行ESP IDF的入门呢,是因为用一天看了下安卓开发,如果我们只是单纯的开发控制软件还是比较容易入门的,所以开始学习ESPIDF的使用,之后呢会使用ESP32开发一些简单的项目,写一个简单的安卓软件进行项目开发,磨练自己的技术,博主呢不是一个能够安安静静去看视频或咬文嚼字的人,从始至终觉得要学会一个东西还是需要去不断地用项目去磨练自己。
一、IO_MUX and GPIO Matrix
二、使用步骤
1.通过库函数配置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#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.配置为输入模式
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30#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("%dn", i); sleep(1); // gpio_set_level(LED_PIN,1); // sleep(1); // gpio_set_level(LED_PIN,0); // sleep(1); } }
3.控制LED
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33#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("%dn", i); if(i==0){ gpio_set_level(LED_PIN,1); }else{ gpio_set_level(LED_PIN,0); } sleep(1); } }
4.GPIO结构体配置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30#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("%dn",on); sleep(1); } }
总结
本文学习了韦东山老师关于ESP的视频,由于关于esp方面的视频还是比较少的,大部分的还是需要根据官方文档进行学习,再接再厉。
最后
以上就是跳跃白猫最近收集整理的关于ESP IDF开发入门之GPIO前言一、IO_MUX and GPIO Matrix二、使用步骤总结的全部内容,更多相关ESP内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复