自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式环形缓冲区:原理、使用方法与实战指南

在嵌入式系统开发中,数据的实时传输与缓冲是高频需求(如 UART 数据接收、传感器数据暂存、多线程间数据通信等)。环形缓冲区(Ring Buffer)作为一种高效的 “生产者 - 消费者” 数据缓冲方案,凭借内存复用、无数据拷贝、运算高效等特性,成为嵌入式开发的核心工具。本文将从核心原理、使用流程、实战技巧三个维度,详细介绍环形缓冲区的设计思想与使用方法,帮助开发者快速集成到项目中。

2025-11-19 15:03:27 824

原创 事件(Event)和信号量(Semaphore)对比,区别,优缺点,应用场景

在 RT-Thread(或所有 RTOS)中,**事件(Event)**和**信号量(Semaphore)**是核心的 IPC 同步机制,但设计目标、使用场景和特性完全不同 —— 事件侧重 “多条件通知”,信号量侧重 “资源计数 / 互斥”。下面从 **核心区别、优缺点、适用场景** 三个维度详细解析 简单记:“通知用事件,资源用信号量”。

2025-11-18 15:24:15 689

原创 TTS芯片 文字转语音

本文介绍了SYN8086中文语音合成芯片的应用方法。该芯片通过UART接口接收文本数据并转换为语音输出。系统架构采用串口通信方式,文中提供了详细的通信协议说明和C语言示例代码,演示了如何通过51单片机控制芯片实现文本转语音功能。示例代码包含串口初始化、数据帧构造和文本发送过程,以"欢迎使用宇音天下研发的语音合成芯片"为样例文本,展示了完整的通信流程。该方案适用于各种需要语音合成的嵌入式应用场景。

2025-07-22 10:46:39 479

原创 rt_thread hc32f460引脚编号

RT-Thread在HC32单片机中使用宏定义实现硬件引脚的数字化标识。核心逻辑是通过GET_PIN(PORT, PIN)宏将"端口+引脚号"转换为唯一数字编号,具体实现为(端口值×16)+引脚号。例如PortA(0)的4号引脚PA4转换为4(0×16+4),PortA的5号引脚PA5转换为5。这种转换方式确保了每个引脚编号的唯一性,方便RT-Thread统一管理硬件引脚,提高代码可移植性和可维护性。当配置BSP_I2C1_SCL_PIN=4时,实际对应硬件上的PA4引脚。

2025-07-18 15:38:28 981

原创 嵌入式linux移植理解和过程梳理

嵌入式linux移植理解和过程梳理

2025-04-28 11:23:13 1136

原创 胶壳端子主要参数和种类

胶壳端子的主要参数和种类

2025-04-28 11:18:10 742

原创 嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动

嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动

2025-04-18 09:26:57 1250

原创 广和通编译命令理解

广和通编译命令理解

2025-04-18 08:42:08 299

原创 ninja | grep error(编译并只显示包含error的行)

把这些命令组合起来,ninja | grep error 就会运行 ninja 构建项目,并且把 ninja 的输出传递给 grep,最后只显示包含 error 单词的行。这在你想要快速找出项目构建过程中出现的错误信息时非常有用。grep error:grep 是用于在文本中查找特定模式的工具,error 是你要查找的模式。ninja:这是一个专注于速度的构建系统,常用于编译项目,它能快速地对项目文件进行编译操作。|:是管道符号,它的作用是把前一个命令(ninja)的输出当作后一个命令(grep)的输入。

2025-04-18 08:28:39 220

原创 MQTT报文类型

MQTT 协议定义了 14种报文类型,每种类型有不同的用途。常见的类型包括:CONNECT:客户端连接请求PUBLISH:发布消息(携带应用数据)SUBSCRIBE:订阅主题PUBACK:QoS 1消息的确认PINGREQ/PINGRESP:心跳包属于 PUBLISH 的情况:当客户端订阅主题后接收应用数据时,报文类型为 PUBLISH。不属于 PUBLISH 的情况:连接确认(CONNACK)、订阅确认(SUBACK)等控制报文。验证方法:通过报文头的第一个字节高4位判断类型。

2025-03-29 10:49:22 755

原创 mqtt接收数据的数据头

mqtt接收数据时底层数据包的数据头解析

2025-03-28 10:46:25 509

原创 cmake命令记录

cmake命令记录

2025-02-25 10:36:09 770

原创 spi配置参数CPOL CPHA

SPI配置参数CPOL CPHA

2024-12-12 18:21:32 744

原创 防护等级 IP(Ingress Protection)

防护等级 IPxx

2024-04-23 09:58:18 1888 1

原创 linux驱动程序编译下载流程及详细介绍

linux驱动程序编译下载流程及详细介绍

2023-12-19 15:20:38 1118

原创 两台电脑共享文件夹、进行文件传输(同一局域网内)

局域网内两台电脑进行文件共享、文件传输,总共需要三步:

2023-12-15 11:13:22 2683

原创 使用网线数据传输+供电——poe

使用网线数据传输+供电,POE

2023-12-14 10:44:20 1403

原创 Ubuntu 下 SSH 服务开启

Ubuntu 下 SSH 服务开启

2023-12-13 14:00:23 5282

原创 Ubuntu 下 NFS服务开启

NFS服务开启

2023-12-13 13:56:07 667

原创 FTP服务——Ubuntu 和 Windows 文件互传

Ubuntu 和 Windows 文件互传,FTP服务,FTP 客户端FileZilla

2023-12-13 11:49:25 488

原创 Linux C语言编程基础命令

Linux C语言编程基础命令

2023-12-13 09:40:55 1895

原创 rt_thread 系统节拍

rt_thread 系统节拍

2023-12-05 17:17:48 206

原创 linux常用命令归纳

linux常用命令归纳

2023-12-05 17:10:18 1068

原创 rt_thread AT指令交互 打印信息 开关

【代码】rt_thread AT指令交互 打印信息 开关。

2023-10-06 11:17:14 223

原创 HC32 usb部分名词解释

可以实现简单的USB 数据双向收发。

2023-08-24 11:45:51 714

原创 HC32F460 USB时钟配置

HC32F460 USB时钟配置

2023-08-23 17:29:11 581

原创 HC32F460 时钟配置、更换外部晶振

华大单片机,HC32F460,时钟配置,使用外部晶振为12M

2023-08-23 17:10:14 4240

原创 如果MQTT Client 想接收离线消息

如果MQTT client想收到离线信息。。。

2023-01-05 16:21:16 2868

原创 关于boot笔记

boot

2023-01-04 17:20:06 648

原创 低功耗配置——唤醒事件

(如果由此事件唤醒,此唤醒事件标志位就会置1,所以使能此唤醒事件前,先将此唤醒标志位清零)ef: 如果唤醒事件为WKUP2_0,清除PTWK2的唤醒标志位。3.使能唤醒事件,如,唤醒事件为“2_0”——WKUP2_0。如,配置唤醒事件WKUP2_0,为下降沿触发。为几,就清除唤醒事件几(PTWK。2.配置掉电唤醒事件边沿选择。1.先清除唤醒标志位,如图。一、配置唤醒事件时,

2022-11-29 22:03:30 591

原创 C语言中 “|=”vs“&=”

(&与运算只有1&1才等于1,其余1&0、0&1、0&0都为0;|或运算只有0&0才等于0,其余1&0、0&1、1&1都为1)a &= b,就是将a与b做按位“与”运算,结果赋值给a,也就相当于a = a & b;|= 一般用在置位,即置1, 将=号后面1的位置1,0的位保持不变。&= 一般用在复位,即清零,将=号后面0的位清零,1的位保持不变。(等号左右两边数据的位一一对应,等号右边为0的这一位)(等号左右两边数据的位一一对应,等号右边为1的这一位)置0,其他位(等号右边为1的所有位)保持不变。

2022-11-28 20:42:45 803

原创 PLC PLS/PLF

2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件ON,如图3-21所示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利用输入信号的下降沿驱动,其它与PLS相同。微分指令的使用如图 1所示,利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。(1)PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出。(2)PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。1)PLS、PLF指令的目标元件为Y和M;

2022-10-27 14:43:00 8790

原创 公钥与私钥、iv(初始向量)

公钥(Public Key)与私钥(Private Key)是通过加密算法得到的一个密钥对(即一个公钥和一个私钥,也就是非对称加密方式)。公钥可对会话进行加密、验证数字签名,只有使用对应的私钥才能解密会话数据,从而保证数据传输的安全性。公钥是密钥对外公开的部分,私钥则是非公开的部分,由用户自行保管。使用密钥对的时候,如果用其中一个密钥加密一段数据,只能使用密钥对中的另一个密钥才能解密数据。例如:用公钥加密的数据必须用对应的私钥才能解密;如果用私钥进行加密也必须使用对应的公钥才能解密,否则将无法成功解密。

2022-10-14 16:46:33 3417

原创 mod笔记

1.同余符号:“同余”,数论中的重要概念。给定一个正整数m,如果两个整数a和b满足a-b能被m整除,即(a-b)|m,那么就称整数a与b对模m同余,记作a≡b(mod m)。2.余数表示:在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数,取余数运算:a mod b = c 表示整数a除以整数b所得余数为c,如7÷3 = 2 …1可表示为7mod3=1。指取模运算符,算法和取余运算(REM)相似例如a mod b=c,表明a除以b余数为c。在整数的除法中,只有能整除与不能整除两种情况。

2022-10-14 14:51:09 517

原创 质数 笔记

一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

2022-10-14 14:45:06 268

原创 hc32官方例程复制出来以后编译有错误

hc32官方例程复制出来以后编译有错误,

2022-10-13 11:54:40 364

原创 二分频笔记

二分频笔记

2022-10-13 11:47:25 1196

原创 return笔记

return 笔记

2022-09-27 17:30:50 163

原创 printf 占位符

占位符学习

2022-09-26 14:17:15 1564 1

原创 深渊巨坑 控制台

控制台问题解决

2022-09-24 12:04:13 200

环形缓冲区使用示例代码

嵌入式环形缓冲区:原理、使用方法与实战指南 配套代码 在嵌入式系统开发中,数据的实时传输与缓冲是高频需求(如 UART 数据接收、传感器数据暂存、多线程间数据通信等)。环形缓冲区(Ring Buffer)作为一种高效的 “生产者 - 消费者” 数据缓冲方案,凭借内存复用、无数据拷贝、运算高效等特性,成为嵌入式开发的核心工具。本文将从核心原理、使用流程、实战技巧三个维度,详细介绍环形缓冲区的设计思想与使用方法,帮助开发者快速集成到项目中。

2025-11-19

空空如也

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

TA关注的人

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