Live2d Test Env

随笔分类 -  FreeRTOS

摘要:事件组也是一种异步处理方式,,将事件监听和事件处理分离开。 可以记录事件、清除事件标志位。 使用流程: 创建事件组 事件监听task 事件处理task 事件发生,设置事件位 等待事件位,清除相应事件位 处理事件 事件组创建: //创建API EventGroupHandle_t xEventGrou 阅读全文
posted @ 2024-07-18 16:37 爬上那个坡 阅读(71) 评论(0) 推荐(0)
摘要:FreeRTOSConfig.h 中涉及到的宏定义: configUSE_TIMERS一般用于处理一些周期性任务,也可以跟事件组搭配使用,如监听IO事件。 任务创建/删除: //两种创建方法 TimerHandle_t xTimerCreate( const char *pcTimerName, c 阅读全文
posted @ 2024-07-18 10:54 爬上那个坡 阅读(82) 评论(0) 推荐(0)
摘要:对于共享资源的访问或者一些非原子操作的保护,有几种常用方法: 1. 通过挂起中断创建临界区 2. 通过挂起调度器 3. 通过互斥量 1. 挂起中断 taskENTER_CRITICAL(); taskEXIT_CRITICAL(); 对于临界区的内容处理短、快速的代码,可以使用中断挂起,但是,该套函 阅读全文
posted @ 2024-07-17 15:03 爬上那个坡 阅读(60) 评论(0) 推荐(0)
摘要:信号量进行中断上下文切换 信号量操作是原子操作 信号量能阻塞任务,同时也能解除任务的阻塞状态 信号量分类: 二值信号量:队列长度为1,处理中断频率低的事件,进行中断上下文切换 互斥信号量:针对共享数据的原子操作 计数信号量: 队列长度为N的二值信号量,对于中断频率较高的事件,可以用计数信号量,进行处 阅读全文
posted @ 2024-07-17 14:30 爬上那个坡 阅读(97) 评论(0) 推荐(0)
摘要:队列创建 宏定义:configSUPPORT_STATIC_ALLOCATION //静态创建 QueueHandle_t xQueueCreateStatic( UBaseType_t uxQueueLength, UBaseType_t uxItemSize, uint8_t *pucQueue 阅读全文
posted @ 2024-07-16 15:04 爬上那个坡 阅读(59) 评论(0) 推荐(0)
摘要:1. 任务创建函数 // 创建任务的内存由 RAM 在 heap上动态分配 BaseType_t xTaskCreate( TaskFunction_t pvTaskCode, const char * const pcName, unsigned short usStackDepth, void 阅读全文
posted @ 2024-07-10 20:40 爬上那个坡 阅读(46) 评论(0) 推荐(0)