自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 FreeRTOS内存管理(详细到源码)

FreeRTOS提供了5种动态内存管理算法,分别为: heap_1、heap_2、heap_3、heap_4、heap_5 ,我们会详细讲解这五个heap,从源码出发,让你彻底理解单片机动态内存管理算法。

2024-07-17 18:37:51 813

原创 FreeRTOS的中断管理、临界资源保护、任务调度

什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段。临界区是直接屏蔽了中断,系统任务调度靠中断,ISR也靠中断。以上就是FreeRTOS的中断管理、资源管理、任务调度的核心内容。我讲的是关键点,不过也很片面,内部实现过程更为精妙,读者如果水平较高,可以自己去研究一下,我就不去研究了,因为确实有点难,会到这一步就够了。

2024-07-17 01:33:47 565

原创 FreeRTOS软件定时器(software timer)及内部机制

我们的软件定时器内部机制就是这么回事,本质还是利用队列的阻塞来实现,我们只要理解实现的大概思路,再去查看源码,就会发现原来如此,但是源码还是很有难度的,我也只讲解了片面(虽然我也只会片面),但是没关系,只有更加深入了解底层,之后面对rtos的问题的时候,才能更好的去解决问题。

2024-07-16 14:29:42 314

原创 FreeRTOS任务通知(Task Notifications)及内部机制

所谓"任务通知,你可以反过来读通知任务。我们使用队列、信号量、事件组等等方法时,并不知道对方是谁。使用任务通知时,可以明确指定:通知哪个任务。使用队列、信号量、事件组时,我们都要事先创建对应的结构体,双方通过中间的结构体通信。"通知。

2024-07-15 22:12:50 919

原创 FreeRTOS事件组(event group)及内部机制

其实事件组和前面讲的信息量啊,互斥量啊,队列那些几乎都很像了,FreeRTOS的核心就是“调度”,只要你看懂”调度“,那么内部实现的原理你也就能迎刃而解了,当然,提醒一下,无需每条代码都要看懂,大概知道这些代码干什么的就行,毕竟,我们RTOS相比裸机开发已经很高级,越高级越不需要弄底层,大概知道就行了。

2024-07-14 22:40:04 626

原创 STM32远程烧录程序

该篇将会从零基础开始像读者讲解怎么使用远程的方法来烧录STM32程序。我这里用的是ESP8266和STM32F407ZGT6,当然,使用其他32的芯片也是可以的,核心都是一样的。我们先用电脑作为上位机,通过串口来对STM32进行APP程序的下载。本章实验(Bootloader部分)功能简介:开机的时候先显示提示信息,然后等待串口输入接收APP程序(无校验,一次性接收),在串口接收到APP程序之后,即可执行IAP。我们通过KEY0,当key0按下之后,将串口接收到的APP程序存放到。

2024-07-03 14:27:34 1616

原创 FreeRTOS信号量和互斥量

信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。前面介绍的队列(queue)可以用于传输数据:在任务之间、任务和中断之间。消息队列用于传输多个数据,但是有时候我们只需要传递状态,这个状态值需要用一个数值表示。在这种情况下我们只需要维护一个数值,使用信号量效率更高、更节省内存。

2024-06-28 22:06:35 620

原创 FreeRTOS消息队列(深入到源码)!!!

以上就是FreeRTOS中关于消息队列的知识,我从浅到深讲解了消息队列,不局限于单纯的去调用API函数使用消息队列,要对其内部机制有一定的了解,这才是我们学习者该做到的事情,

2024-06-22 18:29:38 861

原创 FreeRTOS同步互斥与通信

经过对本篇的概述,如果你以及学过的话,可以加深你对FreeRTOS的了解,如果你是初学,可以帮你对RTOS有一个大概的掌握,后续我将会对这些一个个展开讲解,并且会从内部机制来对其进行分析,让你不止会用,而且还知道为什么可以这样用。

2024-06-01 22:07:57 710

原创 FreeRTOS任务调度机制(源码讲解)

链表在任务调度中起着至关重要的作用,对任务的管理和调度都有着重要的影响。以下是链表在任务调度中的作用和影响的总结:1. 任务状态管理:链表用于存储不同状态的任务,如就绪状态、阻塞状态等。通过将任务按照状态存储在不同的链表中,操作系统可以高效地管理和调度任务。2. 调度算法实现:操作系统根据不同的调度算法(如优先级调度、时间片轮转调度等)从任务链表中选择下一个要执行的任务。链表提供了数据结构来组织和管理这些任务,以便调度器能够快速找到合适的任务进行调度。

2024-06-01 21:32:54 1129

原创 FreeRTOS任务(深入到源码进行分析)

要先理解任务的内部机制,我们首先要去知道堆栈。注意:我们经常堆栈混合着说,其实它们不是同一个东西:--堆,heap,就是一块空闲的内存,需要提供管理函数--malloc:从堆里划出一块空间给程序使用--free:用完后,再把它标记为空闲的,可以再次使用--栈,stack,函数调用时局部变量保存在栈中,当前程序的环境也是保存在栈中--可以从堆中分配一块空间用作栈--为了好叫,我们直接把栈叫为堆栈。

2024-05-27 18:19:10 845

原创 FreeRTOS 源码概述

FreeRTOS 目录结构FreeRTOS 目录结构使用 STM32CubeMX 创建的 FreeRTOS 工程中,FreeRTOS 相关的源码如下:主要涉及2个目录:CoreInc目录下的是配置文件Src 目录下的freertos.c是创建的默认任务根目录下是核心文件,这些文件是通用的portable 目录下是移植时需要实现的文件比如:,这表示cortexM3架构在RVDS工具上的移植文件核心文件FreeRTOS的最核心文件只有2个:1、

2024-05-25 21:21:20 267

原创 创建FreeRTOS工程

这就是我们用STM32CubeMX创建的最基本的一个FreeRTOS的工程。可以看到,这个与我们使用stm32开发的裸机程序有相同的地方,也有不同的地方,我们可以发现,多了不少文件,读者开始不必惊慌,后续我会逐步讲解,可以先按部就班学习,先学会怎么去使用,在此基础上,再去深入的了解内部机制。

2024-05-25 21:02:09 201

原创 深入了解FreeRTOS:实时操作系统的核心概念和应用(细到源码)

深入了解FreeRTOS:实时操作系统的核心概念和应用(细到源码),我不仅会把基本的知识和用法讲解出来,也会将FreeRTOS的核心通过他的源码,讲解给大家,让大家不仅会用,还理解内部的核心机制,只有真正理解核心机制,才能成为一名RTOS大神。

2024-05-25 20:12:29 1282

原创 链表基础(代码注释很多,帮助你更好理解)

链表基础,快速了解链表,代码里面都有详细注释,简单易懂。

2024-04-26 12:21:02 1264 2

原创 STM32标准库编程与51单片机直接写寄存器的区别和联系

因为32的寄存器太多也太复杂,如果说像51单片机来直接对寄存器编程,会非常的麻烦,需要不断的去查询地址,和各个寄存器和各个位的功能,虽然说,他为我们提供了便利,但是,真正的学会这个单片机,还是需要去查阅芯片手册,看看各个寄存器的功能以及单片机整体的架构。这篇只是大概告诉读者标准库是如何封装寄存器来对stm32中的寄存器进行读写,真正的去看懂标准库和标准库的函数,还是需要读者仔细的去研究标准库的每行代码。

2024-04-22 20:57:32 1897 1

原创 红外接收器的原理以及在STM32和51单片机中的应用

红外接收器的原理以及在STM32和51单片机中的应用,附详细代码以及解析!!!

2024-04-21 17:53:56 3845 3

原创 ESP8266闪存文件系统(SPIFFS)

每一个ESP8266都配有一个闪存,这个闪存很像是一个小硬盘,我们上传的文件就被存放在这个闪存里。这个闪存的全称是Serial Peripheral Interface Flash File System(SPIFFS)。除了可以存放上传的程序以外,我们还可以将网页文件或者系统配置文件存放在ESP8266的闪存中。

2024-04-17 22:07:27 1213 1

原创 JSON基础入门

JSON文件乍一看很复杂,但只要注意以下几点就可以分析出JSON数据内容。首先注意以下符号的含义::用于分隔数据的“名”和“值”{} 标注对象内容[]标注数组内容,分隔数据、对象和数组最关键的点:1、对象用于存放数据(名值对)。2、对象不能直接存放对象或数组。3、数组存放元素有序号(序号起始值0)。4、数组不能直接存放数据(名值对)。JSON(JavaScript Object Notation)具有以下主要作用:1. **数据交换**:JSON常被用于在不同系统之间进行数据交换。

2024-04-15 13:55:18 1702 3

原创 3小时前端入门教程(HTML,CSS,JS)笔记

该篇是基于b站 3小时前端入门教程(HTML,CSS,JS)所做出来的笔记,方便读者在观看视频之后,查阅这份笔记来进行复习,具体了解,请前往原作品3小时前端入门教程(HTML,CSS,JS)1、CSS 全名是`cascading style sheets`,中文名 层叠样式表`。2、用于定义网页样式和布局的样式表语言。3、通过 CSS,你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式,从而实现更精确的页面设计。

2024-04-12 11:10:19 823

原创 I2C,UART,SPI(STM32、51单片机)

详细讲解I2C、UART、SPI原理以及在单片机中的具体应用。

2024-04-12 11:08:56 3322

原创 51单片机、stm32智能小车快速入门(速成)

电源模块,顾名思义,供电的,毕竟没电,车怎么跑起来呢。车要动起来,轮子得有吧,所以得有电机,来驱动小车。

2024-04-11 11:50:17 1041

原创 蓝桥杯嵌入式第十届真题及详解

在讲解第十届的题目之前,强烈建议去看我上一篇《蓝桥杯嵌入式总结和考前冲刺》,涵盖了各个模块的初始化以及基础配置,相关的思路则在我这一篇,如有某个模块不熟悉,请前往查看。这题让我觉得比较难的地方是led模块和eeprom的写入。话不多说,直接开始进行讲解。

2024-04-11 11:48:39 1069

原创 蓝桥杯嵌入式第十一届真题及解析

在讲解第十一届的题目之前,强烈建议去看我的,涵盖了各个模块的初始化以及基础配置,相关的思路则在我这一篇,如有某个模块不熟悉,请前往查看。老规矩,这题的难点是根据模拟电压输入的情况来进行计时,废话不多说,直接开始讲解。

2024-04-10 17:05:33 753 1

原创 蓝桥杯嵌入式第十四届真题和详解

在讲解十二届的题目之前,强烈建议去看我上一篇《蓝桥杯嵌入式总结和考前冲刺》,涵盖了各个模块的初始化以及基础配置,相关的思路则在我这一篇,如有某个模块不熟悉,请前往查看。这篇给我最大的感受就是,状态非常的多,特别考察逻辑联系的能力,对设置标志位的能力要求较高,我会将我的答案分享给大家(附解析!!!

2024-04-10 16:03:37 1017 3

原创 蓝桥杯嵌入式12届真题详解(停车场)

蓝桥杯嵌入式12届真题详解(停车场)

2024-04-09 23:18:07 770 1

原创 蓝桥杯嵌入式十三届试题及详解

在讲解十三届的题目之前,强烈建议去看我上一篇,涵盖了各个模块的初始化以及基础配置,相关的思路则在我这一篇,如有某个模块不熟悉,请前往查看。

2024-04-09 21:27:06 683

原创 蓝桥杯嵌入式总结和考前冲刺(超详细、所有模块)

蓝桥杯嵌入式的总结以及考前冲刺,其中包含基础模块的使用,和每个模块所对应的难点,以及各个模块配置的注意事项,无论是学习以及复习都有很大帮助。

2024-04-08 23:38:23 2236 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除