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

相关推荐
危桥带雨37 分钟前
Freertos——任务通知
stm32·单片机·嵌入式硬件·freertos
Funing72 天前
FreeRTOS 学习复盘(四):事件组、软件定时器与任务通知机制
操作系统·freertos·嵌入式软件
离凌寒5 天前
十一、在zephyr上使用rtc,rng,counter,crc,wdg等外设的演示
freertos
离凌寒8 天前
八、在zephyr配置旋转编码器+timer配置演示
freertos
离凌寒10 天前
六、在zephyr上配置sdmmc和fatfs演示
freertos
追兮兮12 天前
MCUQuickStart:一键生成 STM32 / GD32 的 Keil、CMake、RTOS 工程
stm32·单片机·freertos·gd32·gcc·工程模版
欢乐熊嵌入式编程1 个月前
嵌入式 + MQTT:数据上传到阿里云实战(从0到1完整教程)
stm32·单片机·mqtt·freertos·嵌入式架构·efr32
离凌寒1 个月前
一、关于zephyr的开发环境搭建。
freertos
欢乐熊嵌入式编程1 个月前
第2讲:什么是优秀的软件架构?
stm32·单片机·freertos·低功耗蓝牙·嵌入式架构·efr32
bbaydnog2 个月前
FreeRTOS学习笔记 18:调试方法论——HardFault排查、栈溢出检测、运行时统计,RTOS调试三板斧
笔记·单片机·freertos