首页 > 其他分享 >freeRTOS

freeRTOS

时间:2022-12-30 21:55:28浏览次数:36  
标签:Handle freeRTOS freertos gpio Group include Event

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "driver/ledc.h"
#include "freertos/event_groups.h"
#include "esp_log.h"

EventGroupHandle_t Event_Group_Handle = NULL;
//创建任务组
void Event_Group_Creat(){
    Event_Group_Handle = xEventGroupCreate();
    if(Event_Group_Handle!=NULL){
        printf("YCP->Creat Success");
    }else{
        printf("YCP->Creat Fail");
    }
}
void key_scan(void *ptr){
    gpio_set_direction(GPIO_NUM_9,GPIO_MODE_INPUT);
    while(1){
        //测试事件组,0x01就是标志位
        if(gpio_get_level(GPIO_NUM_9)==0){
            xEventGroupSetBits(Event_Group_Handle,0x01<<1);
        }
        vTaskDelay(1000/portTICK_PERIOD_MS);
    }
}

void test(void *ptr){
    while (1){
        EventBits_t r_event = xEventGroupWaitBits(Event_Group_Handle,0x01<<1,pdTRUE,pdFALSE,1000/portTICK_PERIOD_MS);
        if(r_event&(0x01<<1)){
            ESP_LOGI("YCP","按键按下");
        }else{
            ESP_LOGI("YCP","按键没有按下");
        }
        vTaskDelay(10000/portTICK_PERIOD_MS);
    }
}

void app_main(void){
    led_init();//pwm初始化
    Event_Group_Creat();
    xTaskCreate(key_scan,"scan_name",2048,NULL,2,NULL);
    xTaskCreate(test,"test_name",2048,NULL,2,NULL);
}

 

标签:Handle,freeRTOS,freertos,gpio,Group,include,Event
From: https://www.cnblogs.com/ycp666/p/17015873.html

相关文章

  • freeRTOS移植成功
    今天来学习如何移植freeRTOS也算是走了很多的坑,总算是把系统跑起来了相关的教程网上也有比较详细的,本文主要说说自己踩的坑一些汇编文件报错的问题这个问题的原因是......
  • CubeMX使用FreeRTOS编程指南
    文章目录CubeMX使用FreeRTOS编程指南一、开发前言1.1软件准备1.2开启FreeRTOS二、配置界面三、系统设置2.1调度内核设置2.2内存管理设置2.3钩子函数配置2.5......
  • FreeRTOS的学习(十)——事件标志组
    背景说明:以前从来没有用过这个事件组,现在做的项目是第一次使用,用了之后感觉很方便,比二值信号量方便太多了参考链接如下:(21条消息)FreeRTOS的学习(十)——......
  • FreeRTOS学习笔记——任务壮态或信息查询与任务运行时间统计
    说明:这个方面用的也是比较多的,查看当前任务的运行状态,切记由于消耗内存,只有在debug的时候使用,正式软件直接关闭这里有一位网友写的特别的好,引用参考一下,对此表示感......
  • FreeRTOS 优先级翻转的问题
    说明:以前总是分不清楚什么是优先级翻转,怎么导致的优先级翻转,最近看来一篇文章,写的特别好所以分享过来,参考链接:(21条消息)FreeRTOS的学习(八)——3.优先级翻转问题_LEOD......
  • 从0到1学习FreeRTOS:FreeRTOS 内核应用开发:(一)移植FreeRTOS到STM32第一部分
    一、 STM32的裸机工程模板:相信学FreeRTOS的同学一定学过stm32,所以可以用自己的工程作为模板即可。或者去火哥论坛下一份模板程序。二、下载FreeRTOSV9.0.0源码:获取 Fr......
  • 【FreeRTOS】xPortPendSVHandler任务切换代码分析
     1/*-----------------------------------------------------------*/2//当进入PendSVCHandler时,3//上一个任务运行的环境即xPSR、PC(任务入口地址)、r14/r1......
  • CubeMX+FreeRTOS点灯
    一、CubeMX配置 1、选择时钟源,选择TIM1,网上推荐freertos使用除systick以外的timebase,网上找到的原因是防止高于systick优先级的服务调用HAL_Delay(),导致服务无法返回。......
  • 2.0FreeRTOS文件介绍
    1、打开FreeRTOSv9.0.0,有两个文件夹FreeRTOS、FreeRTOS-Plus。FreeRTOS-Plus是一些第三方产品,一般用不到  2、打开FreeRTOS有Demo、License、Source Demo:官方为......
  • 1.初识FreeRTOS
    1.1为何学习RTOS裸机不满足项目需要 为以后深入学习做准备RTOS(RealTimeROperationSystem实时操作系统)常用的RTOS有国外的FreeRTOS、uC/0S、RTX和国内的RT-Thre......