E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
FreeRTOS
FreeRTOS
消息队列、信号量、事件标志组、任务通知
功能及区别列表消息队列(需要传递消息时使用)在任务与任务间、中断和任务间传递信息,可以数据传输事件标志组(多个事件同步,不需要传递消息时使用)实现任务与任务间、中断和任务间的同步,无数据传输。可实现一对多、多对多的同步,可选择是“逻辑或”触发还是“逻辑与”触发。即一个任务可以等待多个事件的发生。信号量(单个事件同步,不需要传递消息时使用)#二值信号量类似一个标志位。仅”空“(0)和”非空“(1)两
丨匿名用户丨
·
2020-07-29 21:21
#
FreeRTOS
STM32CubeMX
FreeRTOS
二值信号量实验
SW4STM322、STM32CubeMX3、开发板:STM32F407VET6核心二值信号量作用:(1)任务间同步(2)中断与任务间同步本次实验二值信号量的作用是中断与任务间同步,使用STM32CubeMX配置的
freertos
落叶_小唱
·
2020-07-29 21:19
STM32单片机
任务相关的API函数-eTaskGetState
eTaskGetState此函数用于查询某个任务的运行状态,比如:运行态,阻塞态,挂起态,就绪态等,返回值是个枚举类型.要使用函数宏INCLUDE_eTaskGetState必须为1,此宏在
FreeRTOS
.h
oshan2012
·
2020-07-29 21:16
FreeRTOS
FreeRtos
软件定时器相关API函数
动态方法创建软件定时器xTimerCreate,新创建的软件定时处于休眠状态TimerHandle_txTimerCreate(constchar*constpcTimerName,//软件定时器名字,用于调试使用constTickType_txTimerPeriodInTicks,//软件定时器的定时器周期,单位是时钟节拍数constUBaseType_tuxAutoReload,//设置定时器
oshan2012
·
2020-07-29 21:16
Stm32
FreeRTOS
FreeRTOS
二值信号量实验
include"delay.h"#include"usart.h"#include"led.h"#include"beep.h"#include"lcd.h"#include"key.h"#include#include"
FreeRTOS
.h
oshan2012
·
2020-07-29 21:16
FreeRTOS
Stm32
任务相关的API函数-uxTaskGetSystemState
uxTaskGetSystemState:此函数用于获取系统中所有的任务状态,每个任务的状态信息保存在一个TaskStatus_t类型的结构体里面.要使用此函数必须把configUSE_TRACE_FACILITY打开,在
FreeRtos
.h
oshan2012
·
2020-07-29 21:16
FreeRTOS
FreeRTOS
队列
——————(正点原子
FreeRTOS
学习笔记)开始学习
FreeRTOS
,学习参考书籍和视频来自正点原子
FreeRTOS
源码详解与应用开发,北京航空航天大学出版社1队列简介队列是为了任务与任务、任务与中断之间的通信而准备的
nippon1218
·
2020-07-29 21:15
STM32
嵌入式
【
FreeRTOS
源码阅读】 task.c (1) 任务创建以及TCB、List的结构
上篇讲述了list.c关于链表操作的源码阅读,此片文章将开始阅读task.ctask.h相关结构体/*由eTaskGetState返回的任务状态*/typedefenum{eRunning=0,/*一个任务查询自己的状态,必定是运行状态*/eReady,/*被查询的任务处于Ready状态*/eBlocked,/*被查询的任务处于被阻塞的状态*/eSuspended,/*被查询的任务处于被挂起的状态
nickatcsdn
·
2020-07-29 21:42
FreeRTOS
【
FreeRTOS
源码阅读】 task.c(2)任务的调度
FreeRTOS
的任务调度有抢占、时间片轮询。抢占存在于不同任务优先级,时间片轮询是在同等优先级的任务。
nickatcsdn
·
2020-07-29 21:42
FreeRTOS
freertos
内核之xTaskCreate函数分析
背景软件系统:
freertos
软件版本:V9.0.0函数分析#if(configSUPPORT_DYNAMIC_ALLOCATION==1)BaseType_txTaskCreate(TaskFunction_tpxTaskCode
小段孩
·
2020-07-29 20:20
FreeRtos
freertos
源码学习一 ------ xTaskCreate()参数部分解析。
今天开始有决心来学习
freertos
的源码,因为我感觉非开始不行了。我从
freertos
官网下载了源代码(10.1.1)。
炉子热
·
2020-07-29 20:05
freertos源码
FreeRTOS
任务创建
任务创建函数BaseType_txTaskCreate(TaskFunction_tpxTaskCode,constchar*constpcName,constconfigSTACK_DEPTH_TYPEusStackDepth,void*constpvParameters,UBaseType_tuxPriority,TaskHandle_t*constpxCreatedTask)pvTaskCo
QQ1034313020
·
2020-07-29 20:33
FreeRTOS
FreeRTOS
调度器启动
在真正启动调度器之前,先创建空闲任务,初始化一些变量。真正启动调度器的函数是xPortStartScheduler/*启动调度器*/voidvTaskStartScheduler(void){BaseType_txReturn;#if(configSUPPORT_STATIC_ALLOCATION==1){StaticTask_t*pxIdleTaskTCBBuffer=NULL;StackTyp
QQ1034313020
·
2020-07-29 20:33
FreeRTOS
FreeRTOS
任务延时函数
系统提供了两个任务延时函数:相对延时函数vTaskDelay()和绝对延时函数vTaskDelayUntil()相对延时是指:vTaskDelay()开始执行到退出执行的时间固定/*相对延时函数*/voidvTaskDelay(constTickType_txTicksToDelay){BaseType_txAlreadyYielded=pdFALSE;/*延时时间大于0*/if(xTicksTo
QQ1034313020
·
2020-07-29 20:33
FreeRTOS
FreeRTOS
学习(1)——
FreeRTOS
移植
什么是
FreeRTOS
?
大写的小写字母
·
2020-07-29 20:48
FreeRTOS
FreeRTOS
学习(五) 任务相关API函数
声明及感谢:跟随正点原子资料学习,在此作为学习的记录和总结环境keil,stm32f103API函数预览:uxTaskPriorityGet():查询某个任务的优先级vTaskPrioritySet():改变某个任务的任务优先级uxTaskGetSystemState():获取系统中任务状态vTaskGetInfo():获取某个任务信息xTaskGetApplicationTaskTag():获取
龙井茶110
·
2020-07-29 20:08
FreeRTOS
FreeRTOS
学习(六) 时间片调度
声明及感谢:跟随正点原子资料学习,在此作为学习的记录和总结环境keil,stm32f103对于
FreeRTOS
允许同等任务优先级存在,那么对于多个同等优先级的任务运行,情况的是如何?
龙井茶110
·
2020-07-29 20:08
FreeRTOS
freeRTOS
堆栈溢出检测configCHECK_FOR_STACK_OVERFLOW
如果configCHECK_FOR_STACK_OVERFLOW不为0,需要用户提供一个钩子函数,函数原型如下:voidvApplicationStackOverflowHook(TaskHandle_txTask,char*pcTaskName);参数xTask是任务句柄,pcTaskName是任务名字,要注意的是堆栈溢出太严重的话可能会损毁这两个参数,如果发生这种情况的话可以直接查看变量pxC
STM点灯大师
·
2020-07-29 20:01
编程语言与算法
FreeRTOS
学习(八) 延时函数
声明及感谢:跟随正点原子资料学习,在此作为学习的记录和总结环境keil,stm32f103
FreeRTOS
延时函数有两个分别是:vTaskDelay()vTaskDelayUntil()1.vTaskDelay
龙井茶110
·
2020-07-29 20:26
FreeRTOS
STM32F767ZI-NUCLEO移植
FreeRTOS
参考野火《
FreeRTOS
内核实现与应用开发实战》####一、使用CUBEMX生成工程主要外设初始化有usart3、led及按键首先选择芯片STM32F767ZITx配置时钟源配置led、key的引脚并配置输入输出模式配置
春夏冬
·
2020-07-29 20:50
STM32
FreeRTOS
创建静态任务
1、配置
FreeRTOS
Config.h/*****************************************************************
FreeRTOS
与内存申请有关配置选项
春夏冬
·
2020-07-29 20:19
RTOS
FreeRTOS
源码注释(prvAddTaskToReadyQueue)
/*将TCB插入到对应的就绪链表中,如果对应优先级的链表已经有元素了,就插在其后面*//*被多个函数调用*/#defineprvAddTaskToReadyQueue(pxTCB)\if((pxTCB)->uxPriority>uxTopReadyPriority)\{\uxTopReadyPriority=(pxTCB)->uxPriority;\}\vListInsertEnd((xList*
liyuanbhu
·
2020-07-29 20:10
实时操作系统
list
insert
FreeRTOS
源码注释(prvCheckTasksWaitingTermination)
/*
FreeRTOS
中删除任务是分两步的,第一步vTaskDelete将其从各个工作链表中断开,放到xTasksWaitingTermination链表中,第二步IdleTask调用这个函数真正的删除任务
liyuanbhu
·
2020-07-29 20:10
实时操作系统
include
任务
工作
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
二值信号量(一)
1、头文件声明#include"
FreeRTOS
.h"#include"task.h"#include"semphr.h"#include"supporting_functions.h"#definemainINTERRUPT_NUMBER3staticvoidvHandlerTask
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之任务如何共用
FreeRTOS
软件定时器回调函数(二)
1、头文件声明和函数定义#include"
FreeRTOS
.h"#include"task.h"#include"timers.h"#include"supporting_functions.h"#definemainONE_SHOT_TIMER_PERIOD
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
Queue Set(三)
1、头文件声明和任务定义#include"
FreeRTOS
.h"#include"task.h"#include"queue.h"#include"supporting_functions.h"voidvSenderTask1
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
中断回调函数
1、头文件声明#include"
FreeRTOS
.h"#include"task.h"#include"timers.h"#include"supporting_functions.h"#definemainINTERRUPT_NUMBER3staticvoidvPeriodicTask
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
任务通知Notify
简析notify使用基础。基于windowsvs2012运行效果:每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务可以解除阻塞状态,前提是这个阻塞事件是因等待通知而引起的。发送通知的同时,也可以可选的改变接收任务的通知值。可以通过下列方法向接收任务更新通知:a、不覆盖接收任务的通知值b、覆盖接收任务的通知值c、设
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何创建和使用
FreeRTOS
消息队列(一)
消息队列浅析:一个或者多个任务可以通过RTOS内核服务从队列中得到消息,通常先进入消息队列的消息先传给任务,即先进先出的原则(FIFO),
FreeRTOS
的消息队列支持FIFO和LIFO两种数据存取方式
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
软件定时器(一)
1、头文件声明#include"
FreeRTOS
.h"#include"task.h"#include"timers.h"#include"supporting_functions.h"//定义定时器相关时间
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何动态设置
FreeRTOS
任务优先级
1、头文件定义及任务创建#include"
FreeRTOS
.h"#include"task.h"#include"supporting_functions.h"voidvTask1(void*pvParameters
简一商业
·
2020-07-29 20:05
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何使用
FreeRTOS
IDLE空闲任务
windowsVS2012调试效果:1、头文件定义及启动任务#include"
FreeRTOS
.h"#include"task.h"#include"supporting_functions.h"voidvTaskFunction
简一商业
·
2020-07-29 20:04
FreeRTOS系统开发
【
FreeRTOS
】小白进阶之如何创建
FreeRTOS
任务(一)
1、头文件声明#include"
FreeRTOS
.h"#include"task.h"#include"supporting_functions.h"//延时#definemainDELAY_LOOP_COUNT
简一商业
·
2020-07-29 20:04
FreeRTOS系统开发
【IoT】STM32 系统级开发之 ucosIII 或
freeRTOS
事件标志组详解
1、轻型操作系统同步的方案详解1)信号量假设有两个任务Task1和Task2,第一个任务进行按键的扫描,第二个任务进行LED灯的点亮需求:扫描到按键按下后点亮LED灯,也就是说第二个任务永远在等待第一个任务按键的扫描实现:首先Task1一直检测按键是否按下,如果按键按下以后,使用一个全局变量flag并设置flag=1而在Task2当中,不停检测flag值是否为1,如果为1,点亮led灯并把flag
简一商业
·
2020-07-29 20:04
IoT产品设计理论
STM32开发设计
BLE
蓝牙
框架
stm32
freeRTOS
FreeRTOS
之任务创建和删除函数
1.函数总括
FreeRTOS
中有关任务的创建和删除相关的函数总共有4个,如下:xTaskCreate():使用动态的方法创建一个任务,任务栈从
FreeRTOS
的堆中分配。
linuxweiyh
·
2020-07-29 20:56
FreeRTOS
嵌入式系统
FreeRTOS
— 互斥信号量
互斥信号量可以在资源保护的时候很有帮助。用于控制在两个或多个任务间访问共享资源。任务1里面用互斥,那么任务2只能等任务1访问完再访问同一个变量。比如全局变量doublegADC_value[CH_ADC_NUM]={0};//7adcchannals任务1中:周期100ms的采样任务,并保存数据都全局数组中。osMutexWait(myMutex01Handle,osWaitForever);gA
liming0931
·
2020-07-29 20:41
嵌入式/stm32
FreeRTOS
Freertos
学习--初识任务函数
转自:http://blog.csdn.net/djjyi/article/details/6170025
Freertos
泛泛看了很多相关文章,有点头绪,除了不太喜欢其变量的名字,其他的倒还可以接受。
liming0931
·
2020-07-29 20:41
嵌入式/stm32
freertos
临界段代码保护机制
l
FreeRTOS
临界段相关知识补充
FreeRTOS
的源码中有多处临界段的地方,临界段虽然保护了关键代码的执行不被打断,但也会影响系统的实时性。
lhshengshi
·
2020-07-29 20:41
c
FreeRTOS
任务切换
CORTEX_M4F_STM32F407ZG-SK为例,参考书籍Cortex-m权威指南系统启动:/*Startthescheduler.*/vTaskStartScheduler()(main.c)----->vTaskStartScheduler()(tasks.c,设置节拍定时器和启动第一个任务,开始系统正常运行调度)--xPortStartScheduler(port.c)---->vPo
ldinvicible
·
2020-07-29 20:15
单片机
FreeRTOS
静态任务创建与删除
//空闲任务任务堆栈staticStackType_tIdleTaskStack[configMINIMAL_STACK_SIZE];//空闲任务控制块staticStaticTask_tIdleTaskTCB;//空闲任务API函数voidvApplicationGetIdleTaskMemory(StaticTask_t**ppxIdleTaskTCBBuffer,StackType_t**p
lbd0125
·
2020-07-29 20:09
FreeRTOS系统学习
FreeRTOS
任务基础知识总结
2、
FreeRTOS
是一种抢占式的实时多任务系统,其任务调度器也是抢占式的。3、高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权,这样就保证了那些紧急任务的运行。
lbd0125
·
2020-07-29 20:08
FreeRTOS系统学习
FreeRTOS
--API函数(翻译整理)
一、任务创建1.xTaskCreatetask.hportBASE_TYPExTaskCreate(pdTASK_CODEpvTaskCode,constportCHAR*constpcName,unsignedportSHORTusStackDepth,void*pvParameters,unsignedportBASE_TYPEuxPriority,xTaskHandle*pvCreatedT
LeeAmySnail
·
2020-07-29 20:48
FreeRTOS
FreeRTOS
详解---任务管理
TCB链接:Tick中断处理过程:pendsv中断处理过程:pendsv中断处理程序主要处理contextswitch,目前
freertos
的切换策略是在readylist选择优先级最高的task运行任务调度算法
kunis
·
2020-07-29 20:09
FreeRTOS
任务通知
FreeRTOS
从版本V8.2.0开始提供任务通知这个功能,每个任务都有一个32位的通知值。
睿思派克
·
2020-07-29 19:16
FreeRTOS
学习笔记——任务延时
主机环境:Windows开发环境:MDK4.7.2
FreeRTOS
版本:
FreeRTOS
8.1.2目标环境:STM32F030C8T6
FreeRTOS
的任务有以下几种状态:运行态、就绪态、阻塞态、挂起态
anobodykey
·
2020-07-29 19:16
FreeRTOS
单片机
freertos
内核走读2——task任务调度机制(三)
本文为jorhai原创,转载请注明,谢谢!继续任务操作相关函数走读.vTaskDelayUntil,vTaskDelay的可以实现当前任务阻塞一定的tick时间,然后唤醒任务。任务从vTaskDelay被调用时阻塞,但是任务什么时候调用vTaskDelay,这是一个不可定义的,因为任务本身还要等到调度然后才能运行。而vTaskDelayUntil以绝对的唤醒时间,保证了任务按照一个周期不停的唤醒,
jorhai
·
2020-07-29 19:42
freertos内核
freertos
内核走读2——task任务调度机制(四) notify机制
TaskHandle_txTaskToNotify,uint32_tulValue,eNotifyActioneAction)如果要使能任务的notify机制,需要将configUSE_TASK_NOTIFICATIONSdefine为1.熟悉
freertos
jorhai
·
2020-07-29 19:42
freertos内核
freertos
内核走读1——链表和heap
Freertos
内核代码走读之基础数据结构。本文为jorhai原创,转载请注明,谢谢!
jorhai
·
2020-07-29 19:42
freertos内核
freertos
内核走读2——task任务调度机制(二)
在相关的函数介绍中即保留了
freertos
原有的注释(英文注释部分),也添加了自己的理解(中文部分)。任务的创建:思考下,任务创建时,
freertos
都为我们做了什么?完成了哪些初始化工作?
jorhai
·
2020-07-29 19:42
freertos内核
FreeRTOS
任务管理与控制
Task.c文件:全局变量:staticxListpxReadyTasksLists[configMAX_PRIORITIES];staticxListxDelayedTaskList1;PRIVILEGED_DATAstaticxListxDelayedTaskList2;0)portSTACK_TYPE*pxEndOfStack;#endif#if(portCRITICAL_NESTING_I
05jin
·
2020-07-29 19:21
FreeRTOS
上一页
52
53
54
55
56
57
58
59
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他