自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 内核、.ko、.so 与 SDK 镜像打包

编写.c代码,编译.ko快速试错。执行勾选所需的底层模块和上层.so软件库。(离线)使用qmakemake交叉编译你的业务程序(如 Qt 界面)。执行pack脚本,将内核、文件系统、业务程序融合成一个.img,烧录出厂!

2026-06-04 16:06:21 486

原创 LVGL显示中文字体

LVGL显示中文

2026-02-26 18:07:34 358

原创 STM32单片机 IIC 通信协议

IIC)中文全称为集成电路总线,是由飞利浦公司(现恩智浦NXP)在1980年代开发的一种简单、双向、二线制、同步串行通信总线。IIC两根线分别是 SCL(时钟控制线) 、SDA(数据线,用于传输数据)。它主要用于连接同一块电路板上的各个集成电路(IC),让芯片之间能够以低速、短距离的方式进行通信,因其设计简洁、占用引脚少而被广泛应用。行通信,因其设计简洁、占用引脚少而被广泛应用。常见应用场景访问传感器这是IIC最经典的应用。许多小型、低功耗的传感器都采用IIC。

2025-11-05 20:12:08 1159

原创 STM32 单片机 ESP8266 联网 和 MQTT协议

也就是说,此时你只是接入了“网络”,但没有规定:如何传输数据?数据长什么样?谁发给谁?怎么识别?有无加密或订阅机制?这就像你连上了高速公路,但不知道去哪条道,也没有导航或红绿灯。因此我们需要同意一种协议来规范数据的格式。MQTT 是一种应用层协议,你需要它来“说话”**MQTT(Message Queuing Telemetry Transport)**是一种轻量级、基于发布/订阅的通信协议,非常适合物联网设备。

2025-11-01 16:09:07 1584 2

原创 STM32中 ESP8266 MQTT ModBus RS482 介绍

ESP8266 —— Wi-Fi 无线网络模块ESP8266 是一款带,可以让 STM32 通过它。

2025-10-30 21:24:36 983

原创 STM32单片机TIM定时器

定时器从 0 开始计数,每当计数器的值增加到 ARR 设定的值时,定时器会自动重载回 0,并触发相关的事件(例如产生中断、PWM 更新等)。

2025-10-25 18:24:06 1042

原创 STM32 单片机 ADC模拟/数字转换

ADC ==> 模拟量转数字量,在 STM32 MCU 中,利用ADC端口完成【电压值转换为数字值】方式。大多数传感器会利用 ADC 方式进行模拟量转换数字量方式进行传感器数据提供。例如光敏电阻,实现光照强度传感器。压敏电阻,实现重量传感器,电子秤,过磅水位传感器,油位传感器电池电路传感器ADC 可以将数据转换之后,交给后续的 MCU 进行【阈值】判断,完成后需求其他操作,例如油箱报警,温度报警,电量报警。

2025-10-22 17:22:56 1241

原创 STM32 单片机--中断 NVIC

本文摘要: STM32的中断系统(NVIC)是嵌入式开发的核心模块,负责管理所有外设中断。文章详细解析了NVIC的四大功能(管理、排队、优先级、嵌套),介绍了三类中断源(外部、外设、系统异常),重点讲解了EXTI外部中断的开发流程,包括GPIO配置、边沿检测、中断使能等关键步骤。通过代码实例展示了按键中断的完整实现过程,涵盖时钟开启、引脚映射、NVIC配置及中断服务函数编写等核心技术要点,为STM32中断开发提供了实用指南。

2025-10-22 08:28:19 955

原创 STM32 单片机USART 串口配置

是单片机或嵌入式系统中非常常用的一个外设模块,全程是 Universal Synchronous/Asynchronous Receiver/Transmitter (通用同步/异步收发器).USART 的主要功能是;。串口:硬件中数据传递的一种方式,而且是常用方式。后续开发中,WiFi,蓝牙,LoRaZigBee4/5G,都可以按照串口方式进行数据传递和设备控制。数据按照【串行数据传递格式】完成设备之间的通信。并行和串行:并行: 多跟数据线,数据多个位同时发送,类似高速公路。

2025-10-18 11:52:01 1074

原创 C语言排序算法

是指将一组“无序”的数据,按照指定的关键字(key)递增(升序)递减(降序)排列的过程。当两个元素的“关键字相同”时,排序前后的相对位置是否保持不变。排序过后,紫色的3 仍然在 红色的 3 前面,这个排序算法就是稳定的。排序算法按举例:假设你要给一万个学生按成绩排序:如果数据量很小(几千个、几万条),👉 全部加载进内存,一次性排序完成,这叫。如果数据量特别大(比如几亿条记录),👉 内存根本放不下全部数据,就要先分块排序、再用磁盘暂存、最后合并排序,这叫。

2025-10-16 21:47:41 907

原创 OpenHarmony DHT11温度传感器

上图为DHT11温度传感器DHT11 是一种常用的,它内部集成了以及,通过与主控 MCU(如 STM32、Hi3861、Arduino 等)进行数据交互。

2025-10-13 21:33:28 1007

原创 OpenHarmony海思单片机 点亮led灯

在这里我对 IO 和 GPIO 的指向意义产生疑惑,询问chatGPT解答得以解惑。然后对LED3 IO 引脚的工作状态进行配置(led_init()初始化)我们要点亮LED3 首先要宏定义 引脚IO02和引脚工作模式。HI_GPIO_VALUE1 高电平 逻辑1。HI_GPIO_VALUE0 低电平 逻辑0。GPIO 是引脚被设置的一种工作模式之一。初始化完成之后,根据原理图得知,IO 就代表一个引脚 物理上的。,一般在线程函数中实现。(高电平或低电平)。(高电平或低电平)。

2025-10-10 21:35:56 465

原创 C语言内存操作函数解释

功能:在指定的内存区域中查找某个字节的首次出现位置。

2025-09-24 21:29:46 422

原创 C语言网络通信函数

使用来定义接收端的 IP 地址和端口号。通过函数将接收端的 IPv4 地址字符串(点分十进制)转换为二进制形式并存储在地址结构体中。使用htons()函数将端口号转换为网络字节序(大端字节序)。

2025-09-16 22:12:51 1238

原创 C语言_Linux_线程通信以及小练习

我们之前学过进程,在程序运行起来以后,就变成进程。但是,进程并不执行什么,他只是提供相应的资源,具体执行的是线程。每一个进程里面,至少要包含一个线程,这个线程叫做主线程。线程是轻量级的进程,Linux环境下线程仍然是进程。线程和进程的关系:进程为线程的执行提供各种资源(进程包含线程),进程结束,线程也全部结束。进程是最小的资源分配单位。线程是最小的执行单位。线程是属于进程的,因此所有的线程共享进程资源(PCB),但是线程也有自己专属的资源:线程栈。

2025-09-15 20:37:09 1131

原创 进程通信———消息队列

消息队列是在消息队列相当于一个快递柜,快递员向快递柜放快递(写入),会特定一个取货码,我们根据取货码准确的拿到(读出)我们的快递。

2025-09-11 22:02:13 1064

原创 进程通信——Linux使用C语言实现本地版QQ

在学会管道通信之后,我们就可以实现一个本地单机版QQ,实现两个无血缘关系进程之间的通信。这就是有名管道。,First In, First Out)是 Linux 和 Unix 系统中的一种进程间通信(IPC)机制,允许不同的进程之间进行数据传输。与普通管道(无名管道)不同的是,有名管道有一个名称,可以在文件系统中访问和操作。

2025-09-10 19:52:32 454

原创 C语言进程通信———管道通信

文件描述符(File Descriptor,简称 FD)是一个非负整数,用于标识一个进程打开的文件或其他输入输出资源(如管道、套接字等)。操作系统使用文件描述符来管理文件或设备的读写操作。文件描述符 0, 1, 2 是每个进程被创建时自动打开的三个特殊“通道”的默认钥匙:• 0 (stdin - 标准输入):输入通道。进程默认从这个通道读取输入数据。通常,这个通道连接到用户的终端(键盘输入)。• 1 (stdout - 标准输出):输出通道。进程默认将常规输出信息写入这个通道。

2025-09-09 08:00:00 1034

原创 Linux系统编程系统调用函数、C语言使用系统调用库函数实现COPY命令

const char *pathname : 文件名int flags :文件状态,读、写,mode_t mode:权限返回值 打开成功返回该文件的描述符,后续操作这个文件描述符,就等于操作这个文件打开失败,返回-1。

2025-09-03 08:10:56 403

原创 使用双链表实现学生信息管理

首先完成学生结构体的初始化,每生成一个学生,就动态获得一个学生结构体空间。将头结点的first和last指针指向这个node节点,size+1。这样,链表第一个数据已添加成功。在后续的链表添加中,我们和第一个一样,每添加一个学生,要创建一个stu和一个node,node的stu指针指向新创建的stu。删除分为三种情况:删除表头、删除表尾、删除表中间元素,删除的时候要注意不要将地址丢失。其他的功能都是在这些基础功能上进行扩展添加,下面直接给出代码,不多一一讲解。,只需要将新节点node添加到链表中。

2025-08-30 16:28:39 314

原创 字符串函数文档说明(个人学习笔记)

dest :目标字符串,将源字符串复制到这里,必须要有足够的空间来存放复制的字符串和字符串终止符'\0'src:源字符串,要被复制的字符串。返回值:返回指向目标字符串dest的指针。功能:将源字符串复制到目标字符串首地址。dest :目标字符串,将源字符串复制到这里,必须要有足够的空间来存放复制的字符串和字符串终止符'\0'src:源字符串,要被复制的字符串。n:要复制的最大字符数。返回值:返回指向目标字符串dest的指针。功能:将源字符串的n个字符复制到目标字符串首地址。

2025-08-25 21:19:13 804

Hadoop期末大作业

期末作业+大学生 Hadoop

2025-02-25

空空如也

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

TA关注的人

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