![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRtos
文章平均质量分 62
玫瑰花店
为之则易,不为则难!
展开
-
FreeRtos(5)-----模拟优先级翻转
模拟优先级翻转我们知道任务的优先级在创建的时候就已经是设置好的,高优先级的任务可以打断低优先级的任务,抢占 CPU 的使用权。但是 在很多场合中,某些资源只有一个,当低优先级任务正在占用该资源的时候,即便高优先 级任务也只能乖乖的等待低优先级任务使用完该资源后释放资源。这里高优先级任务无法 运行而低优先级任务可以运行的现象称为“优先级翻转”。示例使用二值信号量模拟优先级翻转。#include "stm32f10x.h"#include "led.h"#include "stdio.h"#原创 2021-04-01 21:18:17 · 287 阅读 · 0 评论 -
FreeRtos(6)-----互斥量优先级继承机制
接上篇的优先级翻转互斥量#include "stm32f10x.h"#include "led.h"#include "stdio.h"#include "usart1.h"#include "systick.h"#include "delay.h"#include "my_key.h"#include "FreeRTOS.h"#include "task.h"#include "queue.h"#include "semphr.h"#define QUEUE_LEN 8#d原创 2021-04-01 21:17:49 · 537 阅读 · 0 评论 -
FreeRtos(4)-----计数信号量
freeRTOS实时操作系统移植FreeRtos(1)-----任务创建与管理FreeRtos(2)-----消息队列FreeRtos(3)-----二值信号量以上是历史FreeRtos博客。FreeRtos系列我会坚持更下去计数信号量计数信号量其实就二值信号量的进阶版本,只是二值只能设置信号量为1,也就是一次只能一个进程访问。计数信号量则可以设置一次多个进程访问。二值信号量在新版本创建信号量函数时候必须要先释放才能申请,而计数信号量不需要先释放。计数信号量API计数信号量API和二值信号量原创 2021-03-22 21:20:01 · 381 阅读 · 0 评论 -
FreeRtos(3)-----二值信号量
freeRTOS实时操作系统移植FreeRtos(1)-----任务创建与管理FreeRtos(2)-----消息队列以上是历史FreeRtos博客。FreeRtos系列我会坚持更下去二值信号量其实简单点二值信号量就像Linux里面的进程同步,也就是说一个进程需要另一个进程的运行结果才能运行。二值信号量API头文件:#include "semphr.h"二值信号量的创建SemaphoreHandle_t xSemaphoreCreateBinary();参数:无返回值:创建成功返回一原创 2021-03-22 15:39:53 · 512 阅读 · 0 评论 -
FreeRtos(2)-----消息队列
freeRTOS实时操作系统移植FreeRtos(1)-----任务创建与管理以上是历史FreeRtos博客。FreeRtos系列我会坚持更下去。freeRTOS消息队列先来看一下队列:先进先出这个图可能画的有点问题,有大佬知道具体过程的欢迎指正。我们先来看一下Freertos消息队列的APIAPI头文件:#include "queue.h"消息队列的创建xQueueCreate((UBaseType_t)QUEUE_LEN,(UBaseType_t)QUEUE_SIZE);参数:原创 2021-03-21 15:53:22 · 362 阅读 · 2 评论 -
FreeRtos(1)-----任务创建与管理
freeRTOS实时操作系统移植以上是历史FreeRtos博客。FreeRtos系列我会坚持更下去。FreeRtos的任务创建任务的创建函数 BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, const char * const pcName, const configSTACK_DEPTH_TYPE usStackDepth, void * const pvParameters, UBa原创 2021-03-20 16:03:46 · 304 阅读 · 1 评论 -
freeRTOS实时操作系统移植
首先我们来了解一下什么是freeRTOS?FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可原创 2021-03-19 09:18:59 · 1070 阅读 · 1 评论