我是靠谱客的博主 跳跃白猫,最近开发中收集的这篇文章主要介绍ESP IDF开发入门之GPIO前言一、IO_MUX and GPIO Matrix二、使用步骤总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


前言

之所以开始进行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("%dn", 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("%dn", 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("%dn",on);
     sleep(1);
 }
 
     
}


 

 

总结

本文学习了韦东山老师关于ESP的视频,由于关于esp方面的视频还是比较少的,大部分的还是需要根据官方文档进行学习,再接再厉。

最后

以上就是跳跃白猫为你收集整理的ESP IDF开发入门之GPIO前言一、IO_MUX and GPIO Matrix二、使用步骤总结的全部内容,希望文章能够帮你解决ESP IDF开发入门之GPIO前言一、IO_MUX and GPIO Matrix二、使用步骤总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部