摘要:1、littlefs主要用在微控制器和flash上,是一种嵌入式文件系统。主要有3个特点: 1)、掉电恢复 在写入时即使复位或者掉电也可以恢复到上一个正确的状态。 2)、擦写均衡 有效延长flash的使用寿命 3)、有限的RAM/ROM 节省ROM和RAM空间 2、已有的文件系统 1)非掉电恢复,基
阅读全文
摘要:RTC很简单只要给备用电,RTC就会不停,可以进行设置和读时间。同时在RTC上也涉及了闹钟(EXTI_17:RTC_FLAG_ALRAF,相当于RTC的定时器,闹钟到了之后进行异步操作)和唤醒中断(低功耗模式下的操作EXTI_22:RTC_IT_WUT)。 如果PA0上有开关信号唤醒EXIT_Lin
阅读全文
摘要:前面的章节我们已经讲解了任务管理和时间管理,从这节开始讲解任务间的通信和同步机制。首先讲解任务间的通信和同步机制之一,事件标志组。 1 、 事 件 标 志 组 1.1 为什么要使用事件标志 事件标志组是实现多任务同步的有效机制之一。也许有不理解的初学者会问采用事件标志组多麻烦,搞个全局变量不是更简单
阅读全文
摘要:1 、互 斥 信 号 量 1.1 互斥信号量的概念及其作用 互斥信号量的主要作用是对资源实现互斥访问,使用二值信号量也可以实现互斥访问的功能,不过互斥信号量与二值信号量有区别。下面我们先举一个通过二值信号量实现资源独享,即互斥访问的例子,让大家有一个形象的认识,进而引出要讲解的互斥信号量。 运行条件
阅读全文
摘要:FreeRTOS 计数信号量的另一种实现方式 基于任务通知(Task Notifications)的计数信号量,这里我们将这种方式实现的计数信号量称之为任务计数信号量。任务计数信号量效率更高,需要的 RAM 空间更小。当然,缺点也是有的,它没有前面介绍的计数信号量实现的功能全面。 1、任务通知(Ta
阅读全文
摘要:本章节为大家讲解 FreeRTOS 动态内存管理,动态内存管理是 FreeRTOS 非常重要的一项功能,前面章节讲解的任务创建、信号量、消息队列、事件标志组、互斥信号量、软件定时器组等需要的 RAM 空间都是通过动态内存管理从 FreeRTOSConfig.h 文件定义的 heap 空间中申请的。
阅读全文
摘要:低功耗是 MCU 的一项重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验。 STM32F103 睡眠模式介绍 说明:在 FreeRTOS 系统上面实现睡眠方式仅需了解这里讲解的知识基本就够用了,更多睡眠方式的知识请看 ST
阅读全文
摘要:通过前面的几个章节,我们基本已经完成了 FreeRTOS 所有功能的讲解,本章节为大家介绍一种使用独立看门狗监测任务执行状态的方法,借此为大家提供一种在软件或者硬件死机时,FreeRTOS 系统如何保证系统复位的思路。 什么是独立看门狗 假设有一只饥饿的狗正在看守一座房子,而有人要闯入。 如果这个强
阅读全文