首页 > 其他分享 >Freertos学习笔记(五)

Freertos学习笔记(五)

时间:2024-12-06 17:00:11浏览次数:10  
标签:信号量 Handle Freertos 二进制 句柄 笔记 学习 互斥 任务

此篇文章在2022年2月12日被记录

二进制信号量 计数型信号量 Mutex互斥量 递归互斥量

第十四课 二进制信号量

#include "freertos/semphr.h"
xSemaphoreCreateBinary();
SemphoreHandle_t   Handle;//二进制信号量
Handle = xSemaphoreCreateBinary();//创建
xSemaphoreGive(Handle);//释放
在任务中:
xSemaphoreTake(Handle,portMAX_DELAY);

通过二进制信号量可以实现对全局变量的操作,使用二进制信号量,一个任务在操作全部变量时,可以保护这个变量的内存不被其他任务所读取,实现内存保护

第十五课 计数型信号量

count=xSemaphoreGetCount(二进制信号量句柄)//获取信号量的个数
xSemaphoreTake(二进制信号量句柄,timeout);//减少
xSemaphoreGive(二进制信号量句柄,timeout);//增加

Handle=xSemaphoreCreateCounting(最大值,初始值);//创建计数型信号量
xSemaphoreGive(Handle);//释放二进制信号量

第十六课 Mutex互斥量

与二进制信号量相似

互斥量可以使得继承互斥量的任务获得上一任务的优先级

使用xSemaphoreCreateMutex();

第十七课 递归互斥量

内存中的资源在任务调用时是加锁的

xSemaphoreCreateRecursiveMutex();

xSemaphoreTakeRecursive(); //取得锁

xSemaphoreGiveRecursive();//释放锁

递归互斥量是在同一个任务中,重复加锁

标签:信号量,Handle,Freertos,二进制,句柄,笔记,学习,互斥,任务
From: https://www.cnblogs.com/shumei52/p/18591125

相关文章

  • 设计模式学习思路二
            设计模式的学习思路_设计模式必须按顺序进行吗-CSDN博客以下是一些方法和思路可以帮助你更清晰地识别使用了哪种设计模式。1.确定模式时的思考步骤        以下是分析代码时,你可以遵循的一些思路和步骤,帮助你识别可能使用的设计模式:a.识别类和对......
  • Freertos学习笔记(四)
    此篇文章在2022年2月12日被记录队列集合、队列邮箱、软件定时器第十一课队列集合多个Task写队列数据,一个Task读取队列数据QueueSet新建两个消息队列,句柄给两个发送函数,新建一个QSet句柄使用xQueueAddToSet分别添加两个消息队列到Qset在接收函数中,算了···这个是用的......
  • Freertos学习笔记(一)
    此篇文章在2022年1月29日被记录系统启动流程、Task创建与删除、Task参数传入本freertos笔记基于esp32-idf开发第一课系统启动流程第一阶段bootloader第二阶段bootloader第三阶段应用程序入口在components文件夹下有bootloader两个阶段的源代码、也有freertos的源代码......
  • 深度学习之蒙特卡洛方法
    第一部分:解决的问题蒙特卡洛方法是一种利用随机采样来解决数值计算问题的统计学方法,特别适用于难以用解析方法计算的复杂问题。核心思想是通过大量的随机样本来近似问题的解将需要计算的问题转化为某种期望或概率的形式。随机采样大量样本,通过样本均值或比例近似期望值或概......
  • Linux学习(1)---文件属性和基本权限理解
    目录一.Linux文件的属性二.Linux用户权限分类三.文件权限的查询与修改1.修改用户的权限1).一般法2).8进制法2.修改所属组和所属者3.如何在创建文件权限预分配在学习linux的时候,我们用ll命令显示文件的详情信息,难免会发现文件名前面会有一大堆其它的字符,那么这些字......
  • 【深度学习】深入解析长短期记忆网络(LSTMs)
    长短期记忆网络(LongShort-TermMemorynetworks,LSTMs)是一种特殊的递归神经网络(RNN),专门设计用来解决标准RNN在处理长序列数据时的梯度消失和梯度爆炸问题。LSTMs在许多序列数据任务中表现出色,如自然语言处理、时间序列预测和语音识别等。本文将深入探讨LSTMs的基本......
  • 2024-2025-1 20241322 《计算机基础与程序设计》第十一周学习总结
    2024-2025-120241322《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK11这个作业的目标①计算机网络②网......
  • 大二上 国际化科研素养实训(计算机科学)人工智能:机器学习在数据分析及自然语言处理中的
    20241206出成绩了,本次考试成绩满分题目如下:单选题(5分)Azoologistworkingatalakewouldliketoestimatetheageofafishinyearsbylookingatthelength,weight,colorandmaximumwidth.WhatMLtaskisthis?(B)AClassificationBRegressionCRecom......
  • 2024-2025-1 20241401 《计算机基础与程序设计》 第十一周学习总结
    班级链接2024计算机基础与程序设计作业要求第十一周作业作业目标①计算机网络②网络拓扑③云计算④网络安全⑤Web⑥HTML,CSS,Javascript⑦XML教材学习内容总结《计算机科学概论》第15、16章第15章计算机网络基础网络类型局域网(LAN):通常覆盖范围较小......
  • YOLOv8车牌识别系统 深度学习 LPRNet算法 pytorch 大数据 毕业设计(源码)✅
    YOLOv8车牌识别系统深度学习LPRNet算法pytorch大数据毕业设计(源码)✅1、项目介绍技术栈:Python3.8YOLOv8深度学习LPRNet算法pytorch2、项目界面(1)上传图片进行车牌识别(2)上传图片进行车牌识别2(3)多车牌号码进行车牌识别(4)上传视频进行车牌识别实时检测(5)连接......