🐱作者:一只大喵咪1201🐱专栏:《RTOS学习》🔥格言:你只管努力,剩下的交给时间!目录🥩FreeRTOS中的链表🥞初始化🥞尾部插入🥞按顺序插入🥞删除🥩堆的管理🥞heap_1.c🥞heap_2.c🥞heap_4.c🥞heap_5.c🥩总结🥩FreeRTOS中的链表链表是FreeRTOS的核心结构,它让系统的功能正常运行,本喵下面来解释一下FreeRTOS中的链表结构以及操作。如上图所示是FreeRTOS源码中的链表的定义List_t,这是一个链表头,重要的成员变量有三个:volatileUBaseType_tuxNumberOfItems:表示链表中包含的节点个数。ListItem_t*co
一、FreeRTOS源码下载(1)移植钱得准备前菜对吧,我们先来去官网瞄一瞄网址:FreeRTOS-MarketleadingRTOS(RealTimeOperatingSystem)forembeddedsystemswithInternetofThingsextensions第一步:点击下载FreeRTOS第二步:选择版本下载(我选择稳定版本)注:我们下载的稳定版本不包含DEMO例程,可以自己下载上面的那个最新版本,有官方移植好的DEMO,那么最新版本下载过程如下图:但是,这时候下载完成的压缩波其实并不包含FreeRTOS的子模块。所以,在该页面向下翻找。第三步:回到我们下载稳定版本的路上
目录一、SysTick定时器1、SysTick寄存器介绍(1)控制及状态寄存器(2)重装载数值寄存器(3)当前数值寄存器2、SysTick寄存器配置函数二、FreeRTOS中的SysTick定时器1、SysTick配置函数及分析2、SysTick中断函数三、其他操作配置FreeRTOS的SysTick1、找到头文件FreeRTOSConfig.h有如下定义。2、搜索 configTICK_RATE_HZ,在port.c中。3、搜索 portNVIC_SYSTICK_CTRL_REG,在port.c中。4、下面证明地址是不是SYSTICK的配置地址。 5、跳转到SysTick定义处。一、SysT
CubeMX平衡小车01——基于FreeRTOS实现串口接收数据一、实现功能及实验环境1.实现功能手机数据——>HC05——>USART2——>STM32解析收到的数据——>USART1——>电脑串口软件显示4个SHORT①数据格式手机数据为12字节,包头为0xA5、包尾为0x5A、倒数第二位为校验位(为纯数据低八位的和)②手机端APP③电脑串口软件显示4个SHORT2.实验环境开发板为STM32F103CCU6连接方式:串口2通过蓝牙HC05接受数据,串口1通过左侧USB口连接电脑二、串口接收基础1.阻塞式占用资源while(1){/*USERCODEENDWHILE*//*USERCODE
目录标题1、下载FreeRTOS源码1.1github仓库下载1.2官网下载1.3百度网盘下载2、FreeRTOS移植2.1首先需要有一个可运行的标准库工程2.2在工程内创建一个FreeRTOS文件夹,然后在FreeRTOS文件夹中再新建port、include、src三个文件夹。2.3port文件夹移植2.4include文件夹移植2.5src文件夹移植2.6移植FreeRTOSConfig.h配置文件2.7在keil中添加文件路径2.8打开组文件夹管理,新建FreeRTOS组2.9添加freeRTOS源文件2.10修改FreeRTOSConfig.h配置文件2.10注释掉stm32f10x
STM32CubeMXSTM32CubeMX____Freertos任务通信:队列、信号量、互斥量,事件组,任务通知STM32CubeMX一、STM32CubeMX设置时钟配置HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)使用STM32CubeMX库,配置Freertos二、实验一:消息队列消息队列是什么?适用于什么地方?FreeRTOS消息队列和数组的几个区别:创建消息队列创建任务代码部分实验现象三,实验二:信号量信号量是什么?适用于什么地方?二值信号量`代码部分`实验现象计数信号量`代码部分`实验现象四,实验三:互斥量互斥量是什么?适用于什么地方?`代码部分`实
FreeRTOS的移植一、准备1.下载源文件2.文件内容2.1include文件2.2portable文件二、STM32工程部署1.标准库1.1下载标准库1.2标准库简介内核文件库文件配置文件和中断函数文件2.keil设置2.1为什么要添加STM32F10X_HD,USE_STDPERIPH_DRIVER宏定义2.1.1USE_STDPERIPH_DRIVER2.1.1STM32F10X_HD三、移植FreeRTOS到工程1.复制文件2.在keil工程中添加FreeRTOS内容3.修改FreeRTOSConfig.h文件4.修改stm32f10x_it.c文件四、编写程序一、准备1.下载源文件
🐱作者:一只大喵咪1201🐱专栏:《智能家居项目》🔥格言:你只管努力,剩下的交给时间!目录🍓多任务系统中使用DHT11🍅关闭调度器🍅使用中断🍓获取SNTP服务器时间🍓重新设计功能框架🍓总结🍓多任务系统中使用DHT11在上篇文章中,本喵仅进行了单任务的DHT11温湿度传感器使用,相当于裸机使用。根据上面时序图计算接收一次数据(5个字节)的耗时,不考虑主机发送起始信号的耗时:最小时间:40+80+80+(50+28)*40=3320us=3.32ms。最大时间:40+80+80+(50+70)*40=5000us=5ms。在配置文件FreeRTOSConfig.h中,configTICK_RATE
信号,顾名思义最基础的作用是通知,量,表示数量,意思就是可以有多个信号。在不同的场景延伸下,还有同步和互斥访问资源的作用(这都是通知作用的延伸)。当"量"没有限制时,它就是"计数型信号量"(CountingSemaphores)当"量"只有0、1两个取值时,它就是"二进制信号量"(BinarySemaphores)参考资料:FreeRTOS全解析-8.信号量(semaphore)目录1.二进制信号量1.1创建二进制信号量1.2give/take1.3删除1.4例子2.计数信号量1.二进制信号量二进制信号量和我们裸机编程时经常设置的flag很像。比如某个数据好了,或者某个行为做了,我们就设置fl
✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!!📃个人主页:@rivencode的个人主页🔥系列专栏:玩转FreeRTOS💬保持学习、保持热爱、认真分享、一起进步!!!目录前言一.消息队列的特点1.队列的基本概念2.队列结构体二.队列API函数源码分析1.队列创建函数xQueueCreate()2.向队列发送消息(出队)(1).队列入队(任务级)(2).队列锁(3).队列入队(中断级)(4).任务与中断中入队的区别3.从队列读取消息(出队)(1).队列出队(任务级)(2).队列出队(中断级)三.总结前言本文将详细全方位的讲解FreeRTOS的队列消息,其实在FreeRTO