
RTOS/LWIP
文章平均质量分 90
学习嵌入式实时操作系统FreeRTOS/UCOS/RTT,网络协议栈,ui
Absorbed_w
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FreeRTOS(1)移植
FreeRTOS(Free Real-Time Operating System)是一个开源的实时操作系统(RTOS),专为嵌入式系统设计。它由 Richard Barry 开发,并于 2003 年首次发布。FreeRTOS 以其小巧、高效和可移植性著称,广泛应用于各种嵌入式设备中,如物联网设备、工业控制系统、消费电子等。原创 2025-02-25 20:07:13 · 889 阅读 · 0 评论 -
FreeRTOS(2)任务Task
任务和任务管理是 RTOS 的核心, FreeRTOS 也不例外,并且,绝大多是使用 RTOS 的目的就是为了使用 RTOS 的多任务管理能力。对于初学者,特别是没有 RTOS 基础的读者,了解FreeRTOS 的任务管理机制,是非常有必要的。为了帮助读者更好地理解 FreeRTOS 的任务管理机制,本章就先介绍 FreeRTOS 任务的一些基础知识。原创 2025-02-26 14:48:52 · 1152 阅读 · 0 评论 -
FreeRTOS(3)列表List
在 FreeRTOS 的源码中大量地使用了列表和列表项,因此想要深入学习 FreeRTOS,列表和列表项是必备的基础知识。这里所说的列表和列表项,是 FreeRTOS 源码中 List 和 List Item 的直译,事实上, FreeRTOS 中的列表和列表项就是数据结构中的链表和节点。这部分的内容并不难,但对于理解 FreeRTOS 相当重要,因此笔者建议读者在对本章内容了解透彻后,再继续下面章节的学习。原创 2025-02-26 19:28:08 · 1014 阅读 · 0 评论 -
FreeRTOS(4)系统启动&函数解析
FreeRTOS系统启动&函数解析原创 2025-03-10 13:35:41 · 989 阅读 · 0 评论 -
FreeRTOS(5)内核控制函数及其他函数
FreeRTOS 提供了一些用于控制内核的 API 函数,这些 API 函数主要包含了进出临界区、开关中断、启停任务调度器等一系列用于控制内核的 API 函数。本章就来学习 FreeRTOS 的内核控制函数。原创 2025-03-10 16:40:54 · 766 阅读 · 0 评论 -
FreeRTOS(6)队列
在实际的项目开发中,经常会在任务与任务之间或任务与中断之间需要进行“沟通交流”,这里的“沟通交流”就是消息传递的过程。在不使用操作系统的情况下,函数与函数,或函数与中断之间的“沟通交流”一般使用一个或多多个全局变量来完成,但是在操作系统中,因为会涉及“资源管理”的问题,比方说读写冲突,因此使用全局变量在任务与任务或任务与中断之间进行消息传递,并不是很好的解决方案。 FreeRTOS 为此提供了“队列”的机制。本章就来学习 FreeRTOS 中的队列。原创 2025-03-11 13:27:54 · 1161 阅读 · 0 评论 -
FreeRTOS(7)队列集
在使用队列进行任务之间的“沟通交流”时,一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集。 FreeRTOS提供的队列集功能可以对多个队列进行“监听”,只要被监听的队列中有一个队列有有效的消息,那么队列集的读取任务都可以读取到消息,如果读取任务因读取队列集而被阻塞,那么队列集将解除读取任务的阻塞。使用队列集的好处在于,队列集可以读取多个队列中的消息,而无需遍历所有待读取的队列,以确定具体读取哪一个队列。原创 2025-03-11 19:57:39 · 767 阅读 · 0 评论 -
FreeRTOS(8)信号量-二值信号量
信号量是操作系统中重要的一部分,信号量是任务间同步的一种机制,信号量可以用在多任务访问同一资源时的资源管理。 FreeRTOS 提供了多种信号量,按信号量的功能可分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量,不同类型的信号量有其不同的应用场景,合理地使用信号量可以帮助开发者快速开发稳健的系统。本章就来学习FreeRTOS中的信号量。原创 2025-03-12 18:00:24 · 860 阅读 · 0 评论 -
FreeRTOS(9)信号量-计数型信号量
计数型信号量与二值信号量类似, 二值信号量相当于队列长度为 1 的队列,因此二值信号量只能容纳一个资源,这也是为什么命名为二值信号量,而计数型信号量相当于队列长度大于0 的队列,因此计数型信号量能够容纳多个资源,这是在计数型信号量被创建的时候确定的。原创 2025-03-12 19:09:35 · 1085 阅读 · 0 评论 -
FreeRTOS(10)信号量-互斥信号量
互斥信号量其实就是一个拥有优先级继承的二值信号量,在同步的应用中(任务与任务或中断与任务之间的同步)二值信号量最适合。互斥信号量适合用于那些需要互斥访问的应用中。在互斥访问中互斥信号量相当于一把钥匙, 当任务想要访问共享资源的时候就必须先获得这把钥匙,当访问完共享资源以后就必须归还这把钥匙,这样其他的任务就可以拿着这把钥匙去访问资源。互斥信号量使用和二值信号量相同的 API 操作函数,所以互斥信号量也可以设置阻塞时间,不同于二值信号量的是互斥信号量具有优先级继承的机制。原创 2025-03-13 10:48:22 · 1107 阅读 · 0 评论 -
FreeRTOS(11)软件定时器
定时器可以说是每个 MCU 都有的外设,有的 MCU 自带的定时器有着十分强大的功能,能提供 PWM、输入捕获等高级功能,但是最常用的还是定时器的基础功能——定时,通过定时器的定时功能,能够完成一些需要周期性处理的事务。 MCU 自带的定时器为硬件定时器, 本章讲解的定时器为 FreeRTOS 提供的软件定时器,软件定时器在定时器精度上肯定是不如硬件定时器的,但是软件定时器的误差范围在对于对定时器精度要求不高的周期性任务而言,都是可以接受的。并且软件定时器也有使用简单、成本低等优点。原创 2025-03-13 13:39:24 · 1148 阅读 · 0 评论 -
FreeRTOS(12)事件标志组
事件标志组与信号量一样属于任务间同步的机制,但是信号量一般用于任务间的单事件同步,对于任务间的多事件同步,仅使用信号量就显得力不从心了。 FreeRTOS 提供的事件标志组可以很好的处理多事件情况下的任务同步。本章就来学习FreeRTOS中事件标志组的相关内容。原创 2025-03-13 16:38:02 · 1012 阅读 · 0 评论 -
FreeRTOS(13)任务通知
FreeRTOS 内核 V8.2.0 版本发布的时候, FreeRTOS 新增了任务通知这个功能,任务通知也是用于任务间进行同步和通讯的一种机制,但是相对于前面章节介绍的队列、事件标志组和信号量等而言,任务通知在内存占用和效率方面都有很大的优势。 本章就来学习 FreeRTOS 中任务通知的相关内容。原创 2025-03-17 15:07:44 · 1138 阅读 · 0 评论 -
ESP32(1)基于ESP32的lwIP了解
ESP32-S3 是一款集成了 Wi-Fi 和蓝牙功能的微控制器,而 lwIP(轻量级 IP)是一个为嵌入式系统设计的开源 TCP/IP 协议栈。通过使用 lwIP 库, ESP32-S3 可以实现与外部网络的通信,包括发送和接收数据包、处理网络连接等。因此, ESP32-S3 是基于 lwIP 来实现网络功能的。原创 2025-03-17 16:50:34 · 1417 阅读 · 0 评论 -
ESP32(2)WIFI链接
ESP32-S3的WiFi库支持配置及监控ESP32-S3的Wi-Fi连网功能。它支持配置基站模式(即STA 模式或 WiFi 客户端模式),此时 ESP32-S3 连接到接入点(AP)。还支持 AP 模式(即 SoftAP 模式或接入点模式),此时基站连接到 ESP32-S3。同时,支持 AP-STA 共存模式,此时ESP32-S3 既是接入点,同时又作为 STA。本章节的实验是基于乐鑫官方提供的 WiFi 库来实现的.原创 2025-03-17 22:08:39 · 1325 阅读 · 0 评论 -
ESP32(3)UDP通信
对于 lwIP 的 Socket 的使用方式,它与文件操作非常相似。在文件操作中,我们首先打开文件,然后进行读/写操作,最后关闭文件。在TCP/IP网络通信中,也存在着相同的操作流程,但所使用的接口不再是文件描述符或 FILE*,而是被称为 Socket 的描述符。通过 Socket,我们可以进行读、写、打开和关闭操作来进行网络数据的传输。此外,还有一些辅助函数,如查询域名/IP 地址和设置 Socket 功能等。在本章中,我们将使用 Socket 编程接口来实现 UDP 实验。原创 2025-03-18 13:14:44 · 543 阅读 · 0 评论 -
ESP32(4)TCP通信
讲解 lwIP 的 Socket接口如何配置 TCP客户端,并在此基础上实现收发功能。原创 2025-03-18 19:12:57 · 663 阅读 · 0 评论