
FreeRTOS
YLFM-明觉
提升产品开发效率 !!!
展开
-
FreeRTOS API参考——任务实用程序
Modules uxTaskGetSystemState vTaskGetInfo xTaskGetCurrentTaskHandle xTaskGetIdleTaskHandle uxTaskGetStackHighWaterMark eTaskGetState pcTaskGetName xTaskGetHandle xTaskGetTickCount xTaskGetTickCountFromISR翻译 2020-06-26 11:35:35 · 802 阅读 · 0 评论 -
FreeRTOS API参考——内核控制
Modules taskYIELD taskENTER_CRITICAL taskEXIT_CRITICAL taskENTER_CRITICAL_FROM_ISR taskEXIT_CRITICAL_FROM_ISR taskDISABLE_INTERRUPTS taskENABLE_INTERRUPTS vTaskStartScheduler vTaskEndScheduler vTaskSuspendAll翻译 2020-06-26 11:20:50 · 393 阅读 · 0 评论 -
FreeRTOS API参考——任务控制
Modules vTaskDelay vTaskDelayUntil uxTaskPriorityGet vTaskPrioritySet vTaskSuspend vTaskResume xTaskResumeFromISR xTaskAbortDelay vTaskDelaytask. hvoid vTa...翻译 2020-06-25 17:26:04 · 442 阅读 · 0 评论 -
FreeRTOS API参考——任务创建
Modules xTaskCreate xTaskCreateStatic TaskHandle_ttask. h 引用任务的类型。 例如,对xTaskCreate的调用(通过指针参数)返回TaskHandle_t变量,然后可以将该变量用作vTaskDelete的参数以删除任务。xTaskCreatetask. hBaseType_t xTas...翻译 2020-01-15 11:14:49 · 427 阅读 · 0 评论 -
4.3 FreeRTOS----队列的应用
xQueueCreate()API函数 在使用队列之前必须明确创建一个队列。 队列由句柄引用,它们是QueueHandle_t类型的变量。 xQueueCreate() API函数创建一个队列,并返回一个引用其创建的队列的QueueHandle_t。 FreeRTOS V9.0.0还包括xQueueCreateStatic()函数,它在编译时分翻译 2017-08-27 11:14:39 · 463 阅读 · 0 评论 -
4.2 FreeRTOS----队列的特点
数据存储 队列可以容纳有限数量的固定大小的数据项。 队列可以容纳的最大项目数称为“长度”。 当创建队列时,都会设置每个数据项的长度和大小。 队列通常用作先进先出(FIFO)缓冲区,其中数据被写入队列的结尾(尾部),并从队列的前端(头)中移除。 也可以写入队列的前面,并覆盖已经在队列前面的数据。 有两种方式可以实现队列行为:复制队列翻译 2017-08-26 18:36:20 · 675 阅读 · 0 评论 -
3.7 FreeeRTOS----不运行状态
到目前为止,创建的任务一直都有进行处理,从来没有必要等待任何事情,因为它们不必等待任何东西,它们总是能够进入运行状态。这种“连续处理”任务的有用性有限,因为它们只能以最低优先级创建。如果它们以任何其他优先级运行,它们将防止优先级更低的任务完全运行。 为了使任务变得有用,它们必须重写为事件驱动。事件驱动的任务只有在触发事件的事件发生后才能执行(处理),并且在该事件发生之前不能进入运翻译 2017-08-20 19:19:46 · 785 阅读 · 0 评论 -
FreeRTOS----任务优先级
xTaskCreate()API函数的uxPrddddiority参数为正在创建的任务分配初始优先级。 通过使用vTaskPrioritySet()API函数启动调度程序后,可以更改优先级。 可用的最大优先级数由FreeRTOSConfig.h中的应用程序定义的configMAX_PRIORITIES编译时配置常量设置。 低数字优先级值表示低优先级任务,优先级为0是可能的最低优先翻译 2017-08-20 19:04:01 · 6856 阅读 · 0 评论 -
2. FreeRTOS----堆内存管理
Heap_1适用于小型嵌入式系统。应用程序在执行之前动态分配好内存,生命周期直到运行结束。不会考虑过于复杂的内存管理,如碎片等问题。Heap_1.c是最基本的版本,只用pvPortMalloc()分配内存,没有实现pvPortFree释放内存。因此不会删除任务及其内核应用程序资源。一些商业和安全相关的关键系统,通常需要禁止内存动态分配、碎片划分等,会用到heap_1.c,因为它始终是确定性翻译 2017-08-17 21:24:41 · 1163 阅读 · 0 评论 -
FREERTOS----了解FreeRTOS的发行
定义:FreeRTOS PortFreeRTOS可以用大约二十种不同的编译器并编译,并可运行于三十多个不同的处理器架构。每个编译器和处理器的组合被认为是一个独立的FreeRTOS Port。编译 FreeRTOSFreeRTOS可以作为一个库提供多任务性能去做一些应用。FreeRTOS提供C源文件集。一些源文件是所有Port共有的,一些是特定Port拥有的。编译这些源文件作为工程的翻译 2017-08-16 10:44:21 · 313 阅读 · 0 评论 -
FreeRTOS---- 数据类型和编程风格
1、数据类型每一个Port有一个独特的头文件'portmacro.h', 它包含两个特殊的数据类型:TickType_t and BaseType_t。TickType_t它可以是16-bit或者32-bit两种类型,由FreeRTOSConfig.h中的configUSE_16_BIT_TICKS决定,定义为1表示为uint16_t,定义为0表示为uint32_t。在8-bit和16翻译 2017-08-16 22:18:52 · 1515 阅读 · 0 评论 -
FreeRTOS----创建FreeRTOS项目
1、基于提供的演示项目每一个FreeRTOS Port都提供一个无错误、无警告的演示应用程序。建议通过调整现有项目创建新项目,这将允许项目包含正确的文件、安装正确的中断应用程序、和正确的编译器选项集。从现在项目开始新的应用程序:打开演示项目,并确保它按预期的方式编译和执行。删除演示任务的源文件。任何位于Demo\Common目录中的文件都可以删除。删除main()中所有调用函数翻译 2017-08-16 15:38:50 · 1498 阅读 · 0 评论