
FreeRTOS
文章平均质量分 76
宁静致远2021
天道酬勤,持之以恒。
发上等愿,结中等缘,享下等福;
择高处立,寻平处住,向宽处行。
展开
-
FreeRTOS命令行接口CLI移植
FreeRTOS命令行接口CLI移植原文链接:https://blog.youkuaiyun.com/xiaoyuanwuhui/article/details/112700845一、简介详细介绍可参考FreeRTOS-Plus-CLI官网地址入口FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下:提供一个实现命令功能的函数将命令映射到该功能函数注册命令原创 2022-01-04 08:26:58 · 2209 阅读 · 0 评论 -
FreeRTOS资源管理(互斥量与信号量)
FreeRTOS资源管理(互斥量与信号量)https://zhuanlan.zhihu.com/p/139469342我们探讨了中断管理在FreeRTOS中的概念和应用,在本讲中我们将继续讨论FreeRTOS一个十分重要的话题–资源管理(Resource Management),并借此介绍一个值得嵌入式开发者重视的现象–优先级倒置(Priority inversion )。本个系列教程的理论部分也将完结于此,很高兴读者能一路支持过来并希望能有所收获。其实通过这十讲的教程离真正的精通还是有不少差距的,只能原创 2021-12-29 09:59:45 · 1159 阅读 · 0 评论 -
移植lwip和freemodbus实现MODBUS/TCP
移植lwip和freemodbus实现MODBUS/TCP原文链接:https://blog.youkuaiyun.com/wgp2hpp/article/details/104057824freemodbus modbus TCP 学习笔记熟悉Modbus RTU的各位猿友应该对Modbus TCP多多少少有些了解,我们在公众号里也多次介绍过,移植Modbus TCP,首先我们要移植一个TCP协议栈将Mobdus数据在上面传输,而Lwip是著名的开源TCP/IP网络协议栈,可以移植到微控制器上,可以裸机,也可以原创 2021-12-25 15:10:01 · 5096 阅读 · 1 评论 -
【STM32】FreeRTOS踩坑
【STM32】FreeRTOS踩坑1.在FreeRTOS内核启动前(即osKernelStart()函数前),千万不能使用osDelay()来延时,否则会发生硬件错误。int main(void){ ... /* Init scheduler */ osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */ MX_FREERTOS_Init(); /* Start s原创 2021-12-23 16:00:36 · 4226 阅读 · 0 评论 -
FreeRTOS消息队列 传递结构体指针和结构体异同
FreeRTOS消息队列 传递结构体指针和结构体异同1 消息队列传递结构体指针和结构体异同2 使用队列传递复合数据类型3 利用队列传递数据的指针(处理速度更快)3.1 指针指向的内存空间所有权必须明确3.2 指针指向的内存空间必须有效传递结构体指针和结构体本身的异同原文链接:https://blog.youkuaiyun.com/weixin_44333597/article/details/1075233431 消息队列传递结构体指针和结构体异同2 使用队列传递复合数据类型接收方接收由多个发送源发送至队列中的原创 2021-12-18 14:11:51 · 3765 阅读 · 1 评论 -
FreeRTOS消息队列 传递结构体指针和结构体异同
FreeRTOS消息队列 传递结构体指针和结构体异同1 消息队列传递结构体指针和结构体异同1.1 使用队列传递复合数据类型1.2 利用队列传递数据的指针(处理速度更快)1.3 传递结构体指针和结构体本身的异同原文链接:https://blog.youkuaiyun.com/weixin_44333597/article/details/1075233431 消息队列传递结构体指针和结构体异同1.1 使用队列传递复合数据类型接收方接收由多个发送源发送至队列中的消息时,需要判断数据的来源,使用方式:利用队列传递结构原创 2021-11-03 13:35:40 · 1280 阅读 · 0 评论 -
FreeRTOS软件定时器
FreeRTOS软件定时器1 简述2 使用定时器2.1 配置定时器服务任务2.2 创建 启动 停止定时器2.3 修改定时器2.4 获取定时器状态2.5 定时器实现2.6 数据结构2.7 定时器控制块2.8 定时器管理链表2.9 命令队列2.10定时器服务任务2.11 回调定时器2.12 处理节拍计数器溢出2.13 命令处理原文链接:https://blog.youkuaiyun.com/qq_18150497/article/details/528743101 简述考虑平台硬件定时器个数限制的, FreeRTOS原创 2021-11-03 09:01:35 · 658 阅读 · 0 评论 -
FreeRTOS事件标志组学习
FreeRTOS事件标志组1 基础知识1.1 事件组对比全局变量的优点1.2 事件标志组的实现1.2.1 事件标志组的定义1.2.2 两个任务间使用EventGroups保持同步或通信1.2.3 任务和中断使用EventGroups保持同步或通信2 灵活运用2.1 函数xEventGroupCreate()文章来源:http://blog.sina.com.cn/s/blog_98ee3a930102wgev.htmlhttps://blog.youkuaiyun.com/zhejfl/article/detai原创 2021-11-02 08:20:22 · 472 阅读 · 0 评论 -
FreeRTOS之TCP/IP协议栈
FreeRTOS之TCP/IP协议栈FreeRTOS之TCP/IP协议栈原创 2021-10-14 09:02:46 · 2241 阅读 · 0 评论 -
MDK ARM中weak关键字的使用与中断服务函数
MDK ARM中weak关键字的使用与中断服务函数问题现象问题原因解决方法之一问题现象#define DEMO_LPUART_IRQHandler LPUART1_IRQHandler对于RT1052中断服务函数,发现串口1中断服务没有编译,中断也无法进入。void DEBUG_UART_IRQHandler(void){BaseType_t xHigherPriorityTaskWoken;xHigherPriorityTaskWoken = pdFALSE;uint8_t ucTemp;原创 2021-10-13 15:52:00 · 1110 阅读 · 0 评论 -
FreeRTOS学习笔记04-二值信号量
FreeRTOS学习笔记04-二值信号量1 前言2 特别说明3 参考代码4 简单说明5 在中断中使用RTOS API注意点6 总结原文链接:https://blog.youkuaiyun.com/xukai871105/article/details/431531771 前言在嵌入式操作系统中二值型信号量是任务间、任务与中断间同步的重要手段。FreeRTOS的二值型信号量简单易用,下面结合一个具体例子说明FreeRTOS中的二值型信号量如何使用。2 特别说明二值型信号量的使用方法见图1所示,二值型信号量可以转载 2021-09-29 16:02:20 · 796 阅读 · 0 评论 -
FreeRTOS学习笔记03-任务通知
FreeRTOS任务通知任务通知1.1 基本概念1.2 运作机制1.3 相关API说明1.3.1 xTaskNotifyGive1.3.2 vTaskNotifyGiveFromISR部分内容原文链接:作者:Leung_ManWah链接:https://www.jianshu.com/p/c475b8797a71任务通知头文件#include "FreeRTOS.h"#include "task.h"1.1 基本概念FreeRTOS 从 V8.2.0 版本开始提供任务通知这个功能,每个任原创 2021-09-29 11:45:28 · 191 阅读 · 0 评论 -
FreeRTOS学习笔记02-任务创建和删除(动态方法和静态方法)
FreeRTOS任务创建和删除(动态方法和静态方法)1 前言1.1 任务创建参数描述返回值用法举例1.2 任务删除函数描述参数描述2 FreeRTOS任务创建分析创建任务堆栈和任务TCB初始化任务TCB必要的字段初始化任务堆栈进入临界区当前任务数量增加1为第一次运行做必要的初始化更新当前正在运行的任务TCB指针将新创建的任务加入就绪列表数组退出临界区3 任务创建和删除(动态方法)3.1 任务创建示例(动态方法)1 前言任务创建和删除API函数位于文件task.c中,需要包含task.h头文件。1.1原创 2021-09-28 15:22:11 · 2452 阅读 · 0 评论 -
FreeRTOS学习笔记01-打印浮点数卡死问题--转载
FreeRTOS打印浮点数卡死问题--转载问题:在任务里使用printf("%.1f")打印浮点数时出现卡死的现象。原因:printf("%.1f")打印浮点数时消耗了很多栈空间,堆栈空间太小。解决:增加任务堆栈大小,或者使用FreeRTOS优化改进的printf函数。//任务优先级#define STORAGE_TASK_PRIO 2//任务堆栈大小 #define STORAGE_STK_SIZE 128 //50改为128//任务句柄TaskHandle_t STORA转载 2021-09-28 11:56:08 · 1398 阅读 · 0 评论 -
FreeRTOS任务切换导致SPI(FLASH)读写错误问题解决记录--转载
FreeRTOS任务切换导致SPI(FLASH)读写错误问题解决记录情景原因解决情景在一个任务里面,使用 for 或者 while 循环调用 SPI 操作[读写] FLASH(W25Q128),但是该循环操作未超过看门狗复位时间。问题FreeRTOS系统重启(看门狗),调试发现在任务切换函数和SPI读写函数循环。 { if( ( xTicksToWait == portMAX_DELAY ) && ( xCanBlockIndefinitely != pdFALSE ) )转载 2021-09-28 11:18:11 · 2463 阅读 · 0 评论