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

相关推荐
qq_401700411 天前
FreeRTOS 堆内存管理源码剖析:释放一块内存,空闲块数量反而变少了?
单片机·freertos
List<String> error_P3 天前
使用FreeRTOS搭建工程项目(一)
freertos
@嵌入式扫地僧11 天前
RTOS 面试实战:任务状态切换原理
freertos·rtos·时间片轮转·任务状态切换·抢占式调度
WWJA王文举18 天前
Bootloader、App 和升级分区之间是什么关系?
stm32·freertos·嵌入式开发·在线升级
怀民民民18 天前
嵌入式软件学习路线与项目实践记录:STM32、FreeRTOS、Linux 与 OpenMV
stm32·freertos·嵌入式软件·嵌入式linux·openmv
长江后浪博客1 个月前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
WWJA王文举1 个月前
FreeRTOS动态创建任务和静态创建任务详解:xTaskCreate与xTaskCreateStatic区别
操作系统·freertos·嵌入式开发
离凌寒1 个月前
一、关于rtthread nano使用上的细节总结
freertos
桃蹊、1 个月前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
虎王物联1 个月前
ESP32 FreeRTOS多任务优先级翻转与互斥量保护实战
物联网·嵌入式·esp32·freertos