Free RTOS:信号量实验

目录

1.控制车辆运行

2.不使用信号量实验

game2.c

3.使用计数型信号量实验

game2.c

全局声明

赛车入口函数

三个汽车队列接收红外遥控器分发数据的逻辑函数

信号的排序:

4.使用二进制信号量实验

game2.c

赛车入口函数


1.控制车辆运行

实现三个实验不使用信号量、使用计数型信号量、使用二进制信号量

在代码名为17_queue_car_dispatch的基础上,改出三个程序实验


2.不使用信号量实验

代码名字为18_semaphore_not_use:不使用信号量,3俩车都可以进城

game2.c

三个汽车队列接收红外遥控器分发数据的逻辑函数


3.使用计数型信号量实验

代码名字为19_semaphore_count:使用计数型信号量,同时允许多辆车进城

game2.c

全局声明

赛车入口函数

三个汽车队列接收红外遥控器分发数据的逻辑函数

信号的排序:

高优先级排在前面

同优先级的按函数调用的时刻来排序,也就是先到先得


4.使用二进制信号量实验

代码名字为20_semaphore_binary:使用二进制信号量,同时只允许一辆车进城

game2.c

赛车入口函数

三辆车会依次进行移动,和xSemaphoreCreateCounting(1, 1)是一样的,但是和xSemaphoreCreateCounting()是不一样的,xSemaphoreCreateBinary()只有一种状态,而xSemaphoreCreateCounting()有多种状态

相关推荐
济61717 小时前
FreeRTOS看门狗任务设计---软件看门狗 + 硬件 IWDG 双保险实现
嵌入式·freertos
山木嵌入式3 天前
FreeRTOS任务创建全解析:动态/静态创建+实战案例+参数深度剖析
stm32·freertos
济6174 天前
FreeRTOS日志任务设计----LogTask 日志任务
单片机·嵌入式·freertos
济6174 天前
FreeRTOS教程----队列详解
嵌入式·freertos
温中志5 天前
esp_event_loop_create_default详细解释
esp32·freertos
济6177 天前
FreeRTOS 系统监控任务设计(上篇) ---MonitorTask的 基础框架
单片机·嵌入式·freertos
济6177 天前
MonitorTask 系统监控任务(下篇)---完善堆内存 、任务栈监控
单片机·嵌入式·freertos
济61710 天前
FreeRTOS传感器采集任务 ——SensorTask 传感器采集任务整体实现
stm32·单片机·嵌入式·freertos
济61710 天前
FreeRTOS 上报任务设计---UplinkTask 上行数据上报任务详解
stm32·嵌入式·freertos