2024.4.19作业

1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。

二进制信号量只有0和1两个状态,如果信号被一个线程接收,那别的线程就无法接收此信号

计数型信号可以累计,可以被多个线程接收

2.使用计数型信号量完成生产者和消费者模型实验。

分为三个区域,生产信号端,消费信号端和缓冲端,信号先存入缓冲端再被消费端接收,如果没有则接收不到

3.总结FreeRTOS中同步和互斥的五种方法的使用方法

信号量:可以让任务接收信号之后再运行

互斥量:两个任务不能同时执行

递归锁:哪个任务上锁,哪个任务就解锁

事件组:事件组其实就是一个整数,一个整数中有很多个位,每一位都可以表示为一个事件。事件具体表示什么含义可以由我们自己决定,当事件发生后对应的位会被设置为1。

任务通知:任务通知无需创建,可以直接使用,通过任务控制块来实现(TCB),队列、信号量、互斥量、事件组都需要创建后才能使用。

4.总结任务通知和其他任务通信机制的区别

任务通知无需创建可以直接使用,占用内存比其他少,是一对一通信

5.根据文档和录屏学习一下软件定时器,了解软件定时器的作用和软件定时器和硬件定时器的区别

软件定时器可以分为一次性的和周期性的,软件定时器没用硬件精确,占用空间比硬件多但可以创建多个,理论上是无数个

相关推荐
LCG元4 小时前
STM32实战:基于STM32F103的LCD1602液晶屏(并口/模拟时序)驱动
stm32·单片机·嵌入式硬件
匿名了匿名了5 小时前
直流无刷与直流有刷电机
stm32·嵌入式硬件·mcu
陶瓷好烦5 小时前
智能编码助手:VSCode+Keil+Kilo Code打造自然语言编程环境
vscode·stm32·单片机
松小白song6 小时前
如何在定时器中断中实现PWM波形切换?
stm32·单片机·嵌入式硬件
辰哥单片机设计8 小时前
STM32智能鞋柜(机智云)
stm32·单片机·嵌入式硬件
charlie1145141919 小时前
嵌入式C++教程实战之Linux下的单片机编程(6):从点亮第一盏LED开始 —— 我们为什么要用现代C++写STM32
linux·c语言·开发语言·c++·stm32·单片机
嵌入式×边缘AI:打怪升级日志9 小时前
IMX6ULL 的 LED 操作方法
stm32·单片机·嵌入式硬件
仰泳之鹅9 小时前
【stm32进阶】定时器+ADC+DMA+乒乓缓冲区
stm32·单片机·嵌入式硬件
Heartache boy20 小时前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
jghhh011 天前
带红外抄板和LCD显示的单相电能表设计
stm32·单片机·嵌入式硬件