FreeRTOS 快速入门(四)之队列 @toc 一、队列的特性1、数据存储一个队列能保存有限数量的固定大小的数据单元。一个队列能保存单元的最大数量叫做 “长度”。每个队列数据单元的长度与大小是在创建队列时设置的。 队列通常是一个先入先出(FIFO)的缓冲区,即数据在队列末尾(tail)被写入,在队列前部(head)移出。下图展示了数据被写入和移出作为 FIFO 使用的队列。也可以写入队列的前端,并覆盖已位于队列前端的数据。 2、传 2024-08-21 嵌入式 > FreeRTOS #嵌入式 #FreeRTOS
FreeRTOS 快速入门(三)之任务管理 @toc 一、任务创建与删除1、什么是任务在 FreeRTOS 中,任务就是一个函数,原型如下: 1void ATaskFunction(void *pvParameters); 要注意的是,函数内部,尽量使用局部变量。因为每个任务都有自己的栈,每个任务运行这个函数时,任务 A 的局部变量放在任务 A 的栈里、任务 B 的局部变量放在任务 B 的栈里。不同任务的局部变量,有自己的副本。函数使用 2024-08-20 嵌入式 > FreeRTOS #嵌入式 #FreeRTOS
FreeRTOS 快速入门(二)之内存管理 [toc] 一、概述 在计算系统中,变量、中间数据一般存放在系统存储空间中,只有在实际使用时才将 它们从存储空间调入到中央处理器内部进行运算。通常存储空间可以分为两种:内部存储 空间和外部存储空间。内部存储空间访问速度比较快,能够按照变量地址随机地访问,也 就是我们通常所说的 RAM(随机存储器),或电脑的内存;而外部存储空间内所保存的内 容相对来说比较固定,即使掉电后数据也不会丢失,可以把它理 2024-08-19 嵌入式 > FreeRTOS #嵌入式 #FreeRTOS
FreeRTOS 快速入门(一)之 FreeRTOS 的命名规则 [toc] FreeRTOS 的命名规约非常独特,假若缺乏事先的了解,研读其源代码将使人感到困惑不解。然而,一旦熟悉了其命名规约,阅读就变得十分轻松了。 一、数据类型在 FreeRTOS 中,使用的数据类型虽然都是标准 C 里面的数据类型,但是针对不同的处理器,对标准 C 的数据类型又进行了重定义,给它们取了一个新的名字,比如 char 重新定义了一个名字 portCHAR,这里面的 port 2024-08-18 嵌入式 > FreeRTOS #嵌入式 #FreeRTOS
Modbus 通信协议详解 [toc] 一、概述Modbus 是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动 Modbus 在基于以太网上的分布式应用,目前施耐 2024-08-18 通信协议 #通信协议 #嵌入式 #Modbus
SPI 通信协议详解 [toc] 一、概述SPI(Serial Peripheral interface,串行外围设备接口) 通信协议是 Motorola 公司首先在其MC68HCXX 系列处理器上定义的。SPI 接口是一种高速的全双工同步的通信总线,已经广泛应用在众多 MCU、存储芯片、AD 转换器和 LCD 之间。 由 SPI 连成的串行总线是一种三线同步总线,总线上可以连接多个可作为主机的 MCU,装有 SPI 2024-08-17 通信协议 #通信协议 #嵌入式 #SPI
UART 通信协议详解 [toc] 一、概述UART (Universal Asynchronous Receiver/Transmitter,通用异步收发器) 是一种常用的串行通信协议,用于在计算机和外部设备之间传输数据。它是一种异步通信协议,也就是说数据的传输不需要事先建立好同步时钟信号。 UART 协议定义了数据传输的格式和通信规则。它包括一系列的控制信号和数据线来实现双向的串行通信。常见的 UART 2024-08-16 通信协议 #通信协议 #嵌入式 #UART
IIC 通信协议详解 [toc] 一、概述IIC 协议(Inter-Integrated Circuit,可简写为 I2C),是一种用于各种电子设备之间进行通信和数据交换的串行通信协议。它是由飞利浦(Philips)公司于 1982 年首次提出并推广的一种简单、高效、低成本的通信协议。 I2C 协议采用双线结构传输数据,包括一个数据线和一个时钟线(即 SDA 和 SCL 线),其中 SDA(Serial Data)线 2024-08-15 通信协议 #通信协议 #嵌入式 #I2C
Linux 中断机制(二)之中断子系统框架 [toc] 一、概述一个完整的中断子系统框架可以分为四个层次, 由上到下分别为:用户层、 通用层、 硬件相关层和硬件层, 每个层相关的介绍如下所示: 用户层:用户层是中断的使用者,主要包括各类设备驱动。 这些驱动程序通过中断相关的接口进行中断的申请和注册。 当外设触发中断时, 用户层驱动程序会进行相应的回调处理,执行特定的操作。 通用层:通用层也可称为框架层,它是硬件无关的层次。 通用层的代码 2024-08-14 Linux > 中断机制 #Linux #中断机制
Linux 中断机制(一)之中断和异常 @toc 一、什么是中断1、概述中断(interrupt)是指在 CPU 正常运行期间, 由外部或内部事件引起的一种机制。 当中断发生时,CPU 会停止当前正在执行的程序,并转而执行触发该中断的中断处理程序。处理完中断处理程序后,CPU 会返回到中断发生的地方, 继续执行被中断的程序。中断机制允许 CPU 在实时响应外部或内部事件的同时,保持对其他任务的处理能力。 中断的流程图如下: 2、中断 2024-08-12 Linux > 中断机制 #Linux #中断机制