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

相关推荐
长江后浪博客14 天前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
WWJA王文举15 天前
FreeRTOS动态创建任务和静态创建任务详解:xTaskCreate与xTaskCreateStatic区别
操作系统·freertos·嵌入式开发
离凌寒18 天前
一、关于rtthread nano使用上的细节总结
freertos
桃蹊、18 天前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
虎王物联18 天前
ESP32 FreeRTOS多任务优先级翻转与互斥量保护实战
物联网·嵌入式·esp32·freertos
桃蹊、18 天前
FreeRTOS(六)之队列:任务间通信的基石
freertos·队列
桃蹊、19 天前
FreeRTOS(二)之堆和栈:内存基础入门
freertos·内存管理··
桃蹊、19 天前
FreeRTOS(四)之任务管理(上):创建、删除与任务参数
freertos·任务·task·创建任务
论迹复利22 天前
PendSV与RISC-V trap——上下文切换的两种设计哲学
内核·freertos·risc-v
捷瑞电子工坊24 天前
FreeRTOS中断管理:从原理到实践(标准库版)
嵌入式·freertos·实时操作系统·任务通知·临界区·中断管理·二值信号量