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()有多种状态

相关推荐
天吾cc4 天前
FreeRTOS 事件标志组
freertos
编码追梦人5 天前
基于 ESP32-S3 的便携式多参数环境监护仪设计:从硬件选型到 FreeRTOS 多任务落地
数据库·单片机·嵌入式硬件·mongodb·esp32·freertos·低功耗设计
天吾cc8 天前
FreeRTOS 队列集
freertos
硅基手札9 天前
操作系统设计思想系列 06 · FreeRTOS 深度 — 极简可移植范本
架构·操作系统·freertos·实时操作系统·嵌入式开发·设计思想
天吾cc13 天前
FreeRTOS 列表和列表项
freertos
qq_4017004114 天前
RTOS址与值 void*任务传参的坑 走void*万能转的天坑
freertos
天吾cc14 天前
FreeRTOS任务创建和删除
freertos
天吾cc15 天前
FreeRTOS中断管理
freertos
天吾cc15 天前
FreeRTOS任务挂起和恢复
freertos
中文英文-我选中文19 天前
8.2 学习探索
freertos