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
任务通知模拟二值信号量
FreeRTOS
官方统计,使用任务通知替代二值信号量的时候,任务解除阻塞的时间要快45%,并且需要的RAM也更少举例voidDataProcess_task(void*pvParameters){while
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
事件标志组
信号量同步只能与单个的事件或任务进行同步。事件标志组与多个事件或任务进行同步事件位用来表明某个事件是否发生,事件组是一组事件位//动态方法创建事件标志组EventGroupHandle_txEventGroupCreate(void)//设置事件位EventBits_txEventGroupSetBits(EventGroupHandle_txEventGroup,constEventBits_t
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
任务状态信息查询
uxTaskPriorityGet():查询某个任务的优先级vTaskPrioritySet():改变某个任务的任务优先级uxTaskGetSystemState():获取系统中任务状态vTaskGetInfo():获取某个任务信息xTaskGetApplicationTaskTag():获取某个任务的标签(Tag)值xTaskGetCurrentTaskHandle():获取当前正在运行的任务的
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
优先级翻转
举例//高优先级任务的任务函数voidhigh_task(void*pvParameters){while(1){vTaskDelay(500);//延时500ms,也就是500个时钟节拍printf("hightaskPendSem\r\n");xSemaphoreTake(BinarySemaphore,portMAX_DELAY);//获取二值信号量printf("hightaskRunni
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
中断测试
configMAX_SYSCALL_INTERRUPT_PRIORITY高于此优先级的中断,不能被禁止#ifdef__NVIC_PRIO_BITS#defineconfigPRIO_BITS__NVIC_PRIO_BITS#else#defineconfigPRIO_BITS4#endif#defineconfigLIBRARY_LOWEST_INTERRUPT_PRIORITY15//中断最低优
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
软件定时器
API函数//创建TimerHandle_txTimerCreate(constchar*constpcTimerName,constTickType_txTimerPeriodInTicks,constUBaseType_tuxAutoReload,void*constpvTimerID,TimerCallbackFunction_tpxCallbackFunction)//开始#definex
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
互斥信号量
API函数#if(configSUPPORT_DYNAMIC_ALLOCATION==1)#definexSemaphoreCreateMutex()xQueueCreateMutex(queueQUEUE_TYPE_MUTEX)#endifQueueHandle_txQueueCreateMutex(constuint8_tucQueueType)举例//高优先级任务的任务函数voidhigh_
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
二值信号量
API函数#if(configSUPPORT_DYNAMIC_ALLOCATION==1)#definexSemaphoreCreateBinary()xQueueGenericCreate((UBaseType_t)1,semSEMAPHORE_QUEUE_ITEM_LENGTH,queueQUEUE_TYPE_BINARY_SEMAPHORE)QueueHandle_txQueueGeneri
thomas_blog
·
2020-07-30 06:38
FreeRTOS
FreeRTOS
的仿真环境部署
FreeRTOS
的仿真环境部署:软件版本操作系统Ubuntu16.04工具链arm-none-eabi-*仿真平台qmeu
FreeRTOS
10.0使用qemu仿真lm3s811平台使用
freertos
的
zhangshuaiisme
·
2020-07-30 06:31
【
FreeRTOS
】内核实现:task.c
之前写博客说过:一直跟着野火的教程学习,从STM32基础、初级、高级,这部分学完就是下一部分的
FreeRTOS
。
David 's blogs
·
2020-07-30 06:40
嵌入式
[ 物联网篇 ] ESP32 AWS IoT and Amazon Alexa Development /
FreeRTOS
平台的Alexa语音助手
AVStoAIA的变化BuildthefutureoftheconnectedhomewithAWSIoTandAmazonAlexaAlexaVoiceServiceIntegrationforAWSIoT开发框架1.ESP32与DSPG通讯失败[http_transport]:CurrenttimeinLondon:FriApr1006:37:042020E(9938)[dspg_utilit
程序手艺人
·
2020-07-30 06:06
[
工作积累
]
基于STM32F4的
FreeRTOS
_笔记2_打印输出字符串
曾快速浏览过一遍《
FreeRTOS
实时内核使用指南》,但过后不久一些简单的概念却又忘了,遂决定把其中的示例程序都自己写一遍,以加深记忆。
yy123xiang
·
2020-07-30 06:24
嵌入式开发
FreeRTOS
软件定时器的使用
第一步:宏配置使用软件定时器需要在
FreeRTOS
Config.h先配置,需要注意的是优先级和堆栈,这几个数据要根据具体情况具体设置。
落叶行健
·
2020-07-30 06:51
FreeRTOS
物联网嵌入式系统:
FreeRTOS
任务创建框架
1.动态任务创建和删除1.1任务创建#if(configSUPPORT_DYNAMIC_ALLOCATION==1)BaseType_txTaskCreate(TaskFunction_tpxTaskCode,/*Pointertothetaskentryfunction.*/constchar*constpcName,/*Adescriptivenameforthetask.*/constuin
SSS的博客
·
2020-07-30 06:44
STM32与物联网嵌入式系统
FreeRTOS
API参考——任务创建
ModulesxTaskCreatexTaskCreateStaticTaskHandle_ttask.h引用任务的类型。例如,对xTaskCreate的调用(通过指针参数)返回TaskHandle_t变量,然后可以将该变量用作vTaskDelete的参数以删除任务。xTaskCreatetask.hBaseType_txTaskCreate(TaskFunction_tpvTaskCode,co
IT-Warehouse
·
2020-07-30 06:01
FreeRTOS
FreeRTOS
API参考——任务实用程序
ModulesuxTaskGetSystemStatevTaskGetInfoxTaskGetCurrentTaskHandlexTaskGetIdleTaskHandleuxTaskGetStackHighWaterMarkeTaskGetStatepcTaskGetNamexTaskGetHandlexTaskGetTickCountxTaskGetTickCountFromISRxTaskG
IT-Warehouse
·
2020-07-30 06:01
FreeRTOS
FREERTOS
学习笔记,软件定时器管理
软件定时器通过
FREERTOS
内核实施与控制,它并不需要硬件支持,与底层硬件定时器无关。
yuchendoudou
·
2020-07-30 06:00
FreeRTOS
任务间通讯
队列二进制信号灯计数信号灯互斥递归互斥,以及更多--------------------------------------------------------------------------------队列队列是内部通信的主要形式。它可以用于在任务和任务之间以及任务和中断之间发送消息。在大多数情况下使用线程安全FIFO(先进先出)缓存,新数据放在队列的最后,虽然数据也可以放在前面。队列可以包
scotthsl
·
2020-07-30 06:27
FreeRTOS学习笔记
FreeRTOS
时间管理--两个延时列表分析
FreeRTOS
的任务调度一般使用系统滴答时钟,每次系统节拍时钟发生中断后加1,用来记录系统节拍时钟中断的次数,内核会将所有阻塞的任务跟这个变量比较,以判断是否超时,若超时意味着等待时间到达,可以执行。
yk150915
·
2020-07-30 06:32
FreeRTOS
使用
FREERTOS
软件定时器组
刚刚学会用
FREERTOS
,刚好称公司项目需要,就学习着用,有几个定时需求,本来想使用硬件中断定时器,再用软件做个分组定时,刚好看到
FREERTOS
有软件定时器组,就想用用试试看效果;使用的是
FREERTOS
V10.0.1
yedehui1985
·
2020-07-30 06:06
FREERTOS
FreeRTOS
中相对延时和绝对延时的区别
在公众号列表中,长按我的公众号,置顶公众号,就可以随时看到我。相信许多朋友都有过这么一个需求:固定一个时间(周期)去处理某一件事情。比如:固定间隔10ms去采集传感器的数据,然后通过一种算法计算出一个结果,最后通过指令发送出去。你会通过什么方式解决呢?Ⅰ解决办法很多人肯定首先想到的是:利用定时器,定时10ms中断,在中断里面处理。这种利用定时器中断解决的办法,在处理程序耗时很短(微秒级一下)的情况
ybhuangfugui
·
2020-07-30 06:04
谈谈
FreeRTOS
_V10版本
我预测未来IoT(Internetofthings,即物联网)嵌入式操作系统将是
FreeRTOS
的天下,请看下文分析。
ybhuangfugui
·
2020-07-30 06:04
FreeRTOS
学习笔记——互斥型信号量
下面结合一个具体例子说明
FreeRTOS
中的互斥型信号量如何使用。
xukai871105
·
2020-07-30 06:12
嵌入式ARM
FreeRTOS
学习(五)消息队列和二值信号量 xQueue / xSemaphore
创建xQueueCreate()#include"
FreeRTOS
.h"#include"queue.h"//创建成功返回消息队列句柄,失败返回NULLQueueHandle_txQueueCreate
xuehu96
·
2020-07-30 05:35
ESP
RTOS
数据结构
FreeRTOS
学习(三)任务的挂起和恢复(vTaskSuspend / vTaskResume)
0.开发环境用ESP8266的
FreeRTOS
的开发环境做实验,打开msys2,输入cdsrc从官方的示例文件复制一个GPIO的例子,编译一次(如何编译请看上一篇文章)编译指令make-j4allflashmonitor1
xuehu96
·
2020-07-30 05:35
RTOS
ESP
C语言
FreeRTOS
学习笔记之信号量
一、创建信号量:1.动态创建信号量(自动分配内存):xSemaphoreCreateMutex:具有优先级继承关系,创建互斥信号量(一般用于保护全局变量,防止被意外修改);xSemaphoreCreateBinary:新版本创建二进制信号量(一般用于实现同步消息);创建的初始值为空,可以直接使用;vSemaphoreCreateBinary:老版本创建二进制信号量,创建的初始值为满,使用之前可以先
xld_1992
·
2020-07-30 05:42
FreeRTOS
ESP32语音交互之三-----------ESP32-LyraTv4.3开发板运行SD卡播放音乐
上代码:#include"
freertos
/
FreeRTOS
.h"#include"
freertos
/task.h"
xjp13
·
2020-07-30 05:41
语音交互
FreeRTOS
学习笔记(一)——基础知识体系
任务优先级说明3.2任务优先级分配方案3.3任务优先级与终端优先级的区别4.任务调度4.1调度器4.1.1抢占式调度器4.1.2时间片调度器5.临界区、锁与系统时间5.1临界区与开关中断5.2锁5.1
FreeRTOS
新时代弄潮儿
·
2020-07-30 05:02
FreeRTOS
FreeRTOS
中打开关闭任务切换
本文介绍
FreeRTOS
中解决多任务之间互相影响的两种方法。
BrumaireGeneral
·
2020-07-30 05:55
编程
操作系统
一、
FreeRTOS
任务调度相关函数详解
文章目录1.
FreeRTOS
任务调度及相关函数分析1.1任务创建过程分析1.1.1任务创建函数分析1.1.2任务初始化函数分析1.1.3任务堆栈初始化分析1.1.4添加任务到就绪列表1.2任务删除过程分析
扬帆远航0727
·
2020-07-30 05:53
RTOS操作系统
基于SMT32L476的hardfault分析处理
一、硬件环境:STM32L476二、软件环境:
freeRTOS
系统下跑了4个任务;三、hardfault原因分析,典型原因是访问非法空间,具体情况如下:1、使用未被初始化的指针;2、数组越界访问;3、使用指向变量的指针
淡痕_2010
·
2020-07-30 05:10
STM32
FreeRTOS
STM32关全局中断开全局中断多种方式
中断相关寄存器(注:以下表格为安富莱STM32
FreeRTOS
里文档的)寄存器名字寄存器功能描述primask这是个只有1个bit的寄存器。
lanzhounoddles2011
·
2020-07-30 05:47
FreeRTOS
二值信号量
参考开发手册二值信号量简介二值信号量通常用于互斥访问或同步,二至信号量没有优先级继承,更适合用于同步(任务与任务或任务与中断的同步)。二值信号量其实就是一个只有一个队列项的队列,这个特殊的队列要么是满的,要么是空的,任务和中断不在乎队列中存的是什么消息,只需要知道这个队列是满的还是空的。可以利用这个机制来完成任务与中断之间的同步。创建二值信号量函数描述vSemaphoreCreateBinary动
萧小小
·
2020-07-30 05:08
FreeRTOS
-临界段
FreeRTOS
对临界段的保护还是通过对中断的开和关来控制。Cortex-M内核快速关中断指令:①:这个寄存器是只有一位的寄存器。控制方式如下:②:同样也是一位的寄存器。
仰望繁星.
·
2020-07-30 05:17
stm32解析
freeRTOS
---空闲任务与阻塞延时(2)
1.在
freeRTOS
.h的typedefstructtskTaskControlBlock()中添加xTicksToDelay函数。
仰望繁星.
·
2020-07-30 05:46
stm32解析
关于
FreeRTOS
中断服务函数发送二值信号量之后的任务切换理解
在串口中断服务函数中,发送完二值信号量之后,调用了函数portYIELD_FROM_ISR(xHigherPriorityTaskWoken);//如果需要的话进行一次任务切换那么在任务间发送信号量,是否也需要调用某个函数,实现“如果需要的话进行一次任务切换”呢?首先先查看这个函数的定义,此函数是个宏定义:#defineportEND_SWITCHING_ISR(xSwitchRequired)i
weixin_45910634
·
2020-07-30 05:43
学习笔记
FreeRTOS
中断管理--计数信号量
如果要使用计数信号量,必须在
FreeRTOS
Config.h中将configUSE_COUNTING_SEMAPHORES设置为1。每次“给出”计数信号量时,都会使用其队列中的另一个空间。
Rookie on the road
·
2020-07-30 05:16
FreeRTOS
FreeRTOS
中断管理--概述
概述嵌入式实时系统必须采取措施以响应源自环境的事件。例如,到达以太网外围设备的数据包(事件)可能需要传递到TCP/IP堆栈进行处理(操作)。非平凡的系统将不得不处理源自多个来源的事件,所有这些事件都将具有不同的处理开销和响应时间要求。在每种情况下,都必须对最佳事件处理实施策略做出判断:应该如何检测事件?通常使用中断,但也可以查询输入。使用中断时,应在中断服务程序(ISR)内执行多少处理,而在中断服
Rookie on the road
·
2020-07-30 05:15
FreeRTOS
FreeRTOS
移植到MCU上进入HardFault_Handler的原因
可能是在
FreeRTOS
Config.h中给系统所分配的总的堆的大小超过了要移植的MCU的所能提供给用户使用的内存大小,即#defineconfigTOTAL_HEAP_SIZE((size_t)(4*
Rookie on the road
·
2020-07-30 05:44
FreeRTOS
FreeRTOS
事件组
事件组、事件标志和事件位事件“标志”是布尔值(1或0),用于指示事件是否发生。事件“组”是一组事件标志。事件标志只能为1或0,从而允许将事件标志的状态存储在单个位中,而将事件组中所有事件标志的状态存储在单个变量中;事件组中每个事件标志的状态由EventBits_t类型的变量中的一位表示。因此,事件标志也称为事件“位”。如果将EventBits_t变量中的某个位设置为1,则发生了该位表示的事件。如果
Rookie on the road
·
2020-07-30 05:44
FreeRTOS
FreeRTOS
事件组
FreeRTOS
事件组----任务同步
有时,应用程序的设计需要两个或多个任务才能彼此同步。例如,考虑一个设计,其中任务A接收一个事件,然后将事件所需的一些处理提供给其他三个任务:任务B,任务C和任务D。如果任务A在任务B,C和D已经全部完成了对上一个事件的处理,那么所有这四个任务将需要彼此同步。每个任务的同步点将在该任务完成其处理之后,并且无法继续进行,直到其他每个任务都完成了相同的任务。在所有四个任务都达到其同步点之后,任务A才能接
Rookie on the road
·
2020-07-30 05:44
FreeRTOS
CubeMX
FreeRTOS
(cmsis os)函数API一览 (附可以在中断中调用的API)
CubeMX生成
FreeRTOS
工程以后,因为兼容多个RTOS的缘故,对很多函数的API做了封装,刚开始接触,不是很清楚这些API的资料在哪找,在此列出。
Doee hc
·
2020-07-30 05:56
CubeMX
FreeRTOS
uxTaskGetStackHighWaterMark()的使用
我们一般用此函数优化任务栈空间的分配,在CubeMX生成的
FreeRTOS
工程中,需要先在Middleware->
FreeRTOS
->Includepara
Doee hc
·
2020-07-30 05:56
FreeRTOS
学习笔记:
FreeRTOS
如何入门?任务就绪态、阻塞态、挂起态,傻傻分不清?
由于项目需要,开始学习
FreeRTOS
《
FreeRTOS
实时内核实用指南》,入门佳作,通俗易懂,直接百度下载就好,当然我主页里也上传了,随缘下载。
Doee hc
·
2020-07-30 05:25
嵌入式
操作系统
freertos
freertos
操作系统——任务调度
一.任务创建目的:应用程序中如何给各任务分配处理时间;任意时刻,os如何使任务投入运行;优先级如何影响系统行为;任务状态;如何实现任务;创建一个或多个任务的实例;任务参数的使用right改变任务优先级删除任务周期性处理空闲任务何时运行,可以用来干什么;解决:任务实现—任务函数—voidATaskFunction(void*para);为任务删除—vTaskDelete(NULL);表示删除当前任务
AI wins
·
2020-07-30 05:25
操作系统
freertos
任务调度
开启任务调度*idle任务和timer任务关闭中断//在svc,打开中断下一个任务的解除阻塞时间xNextTaskUnblockTime调度标志xTickCount//tick计数调用xPortStartScheduler()*****************xPortStartScheduler()设置pendsv和systick的中断优先级vPortSetupTimerInterrupt();
贝亚拉科技
·
2020-07-30 04:39
rtos
FreeRTOS
系统创建多任务
FreeRTOS
系统理解,创建多任务,实现任务切换任务一:实现红色LED灯每一秒闪烁,并且串口5输出当前时间,输出格式(任务1:2019-10-0710:10:14);任务二:实现绿色LED灭4秒亮1秒
黄玉坊
·
2020-07-30 04:37
FREERTOS系统创建多任务
FreeRTOS
_task相关
FreeRTOS
task相关
FreeRTOS
中的预定义config.h中的define语句为相关配置参数(类似树莓派裁剪的menuconfig)INCLUDE开始的宏:函数的使能、除能。
_beep
·
2020-07-30 04:50
FreeRTOS
笔记(四):任务创建/删除,挂起/解挂详解
FreeRTOS
笔记(四):任务创建/删除,挂起/解挂详解在第二篇笔记中介绍了任务创建的API,并且简单使用了相关API,本文将详细介绍任务创建的过程。
CodeDog_wang
·
2020-07-30 04:46
三分钟教你玩转cubeMX+USB+FATFS+
FREERTOS
2、配置过程配置时钟源、配置USB、配置FATFS、配置
FREERTOS
,与其说是配置,其实就是勾选,除了特定选择的几个参数外,一切采用默认参数,完美通过。
果子哥哥
·
2020-07-30 04:48
技术
STM32
C/C++
上一页
48
49
50
51
52
53
54
55
下一页
按字母分类:
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
其他