RTOS学习例程1

这是一个关于ESP32S2模块的GPIO控制学习例程,旨在帮助初学者理解和实习RTOS操作。通过阅读和实践此例程,可以深入理解ESP32S2的GPIO接口使用。
摘要由CSDN通过智能技术生成

例程1,基于ESP32S2模块编写,用于自学实习和理解说明

*************声明本实例来自乐鑫ESP32 gpio_example_main.c***************

***************仅作自己学习和更深一步理解的记录***************

/**
 * @file RtosStudy.c
 * @author your name (you@domain.com)
 * @brief 
 * @version 0.1
 * @date 2022-06-02
 * 
 * @copyright Copyright (c) 2022
 * 
 * 本人刚学RTOS,例程用于学习实践理解
 * 芯片:ESP32S2模块
 * 开发环境:vscode
 * 原例程:ESP IDF EXAMPLES, GPIO
 * 硬件连线:
 *      模块中GPIO_OUTPUT_IO_0 GPIO_OUTPUT_IO_1分别与GPIO_INPUT_IO_0 GPIO_INPUT_IO_1相连
 *      按键输入GPIO_INPUT_IO_2
 * 调试:编译烧录并监控烧录口信息
 */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "freertos/semphr.h"
#include "driver/gpio.h"

const char *TAG="RtosStudy";

#define GPIO_OUTPUT_IO_0    42
#define GPIO_OUTPUT_IO_1    41
#define GPIO_OUTPUT_PIN_SEL  ((1ULL<<GPIO_OUTPUT_IO_0) | (1ULL<<GPIO_OUTPUT_IO_1))
#define GPIO_INPUT_IO_0     4
#define GPIO_INPUT_IO_1     5
#define GPIO_INPUT_IO_2     8//key in
#define GPIO_INPUT_PIN_SEL  ((1ULL<<GPIO_INPUT_IO_0) | (1ULL<<GPIO_INPUT_IO_1) | (1ULL<<GPIO_INPUT_IO_2))
#define ESP_INTR_FLAG_DEFAULT 0

#define KeyInPin GPIO_INPUT_IO_2

static xQueueHandle gpio_evt_queue = NULL;
static xSemaphoreHandle key_press_queue = NULL;
static xSemaphoreHandle key_press_queue_counter = NULL;
uint32_t TaskCount=0,TaskCountIO=0;
uint32_t KeyPressCount=0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值