自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 进程、线程与进程通信核心知识笔记

本文简述Linux下进程管理(PCB、fork/exec、退出回收)、多线程及同步机制(互斥锁、信号量),并概述进程间通信方式(无名/有名管道、信号、共享内存、消息队列、信号量),提供了关键API和示例。

2026-08-31 22:55:10 236

原创 SPI与I2C核心区别及ADXL345参数详解

SPI(串行外设接口)是一种高速同步串行通信总线,采用主从模式实现全双工通信。与I2C相比,SPI速度快但占用IO多,采用片选信号寻址而非设备地址。四线制SPI包含SCK、MOSI、MISO和SS信号线。其工作模式由CPOL(时钟极性)和CPHA(时钟相位)决定,共有4种组合,其中模式0和模式3较为常用。加速度传感器ADXL345支持SPI(模式3)和I2C两种通信方式,具有13位分辨率、多量程选择和3.3V供电特点。

2026-07-28 20:55:27 162

原创 I2C总线通信全解析:从原理到实战

I2C(Inter-Integrated Circuit)是一种:仅需 2 根信号线 ——和,即可实现多设备通信。:支持多个主机和多个从机挂载在同一条总线上,每个从机拥有唯一的 7 位 / 10 位设备地址。:总线引脚为开漏输出结构,必须外接上拉电阻才能输出高电平,天然支持线与逻辑与总线仲裁。:由主机提供时钟信号 SCL,数据收发与时钟同步,接收方按时钟节拍采样数据。:每传输 1 字节数据后,接收方必须回复应答位,确保通信可靠。:多主机同时发送数据时,通过总线仲裁机制避免冲突,保证数据不损坏。

2026-07-24 20:01:39 232

原创 i.MX6ULL时钟系统配置指南

本文分析了i.MX6ULL时钟系统架构,重点阐述了PLL(锁相环)、Prescaler(预分频器)和PFD(可编程分数分频器)三大核心模块的功能。PLL用于倍频输入时钟,生成高频时钟源;Prescaler进行整数分频;PFD实现灵活的分数分频。文中详细介绍了i.MX6ULL的时钟配置流程,包括时钟源选择、PLL倍频设置、PFD分频配置、根时钟分频以及外设时钟使能等关键步骤,并提供了具体代码实现。此外,还说明了GICv2在i.MX6ULL中的实际优先级支持情况(32个优先级)。

2026-07-22 22:44:16 360

原创 ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现

1. ARM 交叉工具链各工具作用基于你使用的。

2026-07-20 21:01:44 239

原创 ARM汇编核心概念速查

本文介绍了ARM汇编编程中的核心概念:立即数是直接嵌入指令的常数,需符合特定编码规则;比较了B/BL/BX跳转指令的功能差异;详解了栈的四种类型(满/空×增/减)及其操作特点,指出ARM默认采用FD(满递减)栈;列举了关键指令如LDR/STR、LDM/STM、BIC/ORR、MRS/MSR的功能;最后说明了汇编调用C函数时的参数传递规则(前4个用R0-R3,其余入栈)及寄存器保护要求。这些知识点构成了ARM32架构下汇编编程的基础框架。

2026-07-16 21:13:11 232

原创 ARM嵌入式10道核心题完整答案

本文摘要: 文章系统梳理了ARM架构核心知识点,主要包括:1)RISC与CISC指令集差异,突出ARM精简指令集特性;2)Cortex-A7寄存器结构,详述PC/LR/SP等关键寄存器功能;3)内存管理机制,包括MMU虚拟地址转换和Cache加速原理;4)存储设备对比,分析Nor/Nand Flash应用场景;5)ARMv7七种工作模式及特权级设计;6)异常处理机制与向量表结构;7)AMBA总线层级划分;8)i.MX6ULL芯片特性。全文以技术指标对比和功能说明为主线,完整呈现嵌入式处理器的核心架构特征。

2026-07-15 21:52:46 332

原创 DS18B20温度传感器:单总线通信全解析

摘要:DS18B20是一款数字温度传感器,采用单总线通信协议,仅需一根数据线即可工作。其核心特性包括3-5.5V宽电压供电、-55℃~+125℃测温范围、最高0.0625℃分辨率(12位模式)和多设备组网能力。通信基于开漏输出和上拉电阻实现,遵循严格的时序要求,包括复位脉冲、写/读时序等。温度采集流程分为启动转换和读取结果两步,数据以16位补码格式输出,通过简单计算即可转换为实际温度值。该传感器具有体积小、精度高、接口简单等特点,适用于各种温度监测场景。

2026-07-15 00:11:57 358

原创 揭秘UART:串口通信的核心原理

UART(通用异步收发传输器)是一种串行通信协议,仅需TX/RX两根线实现全双工通信。其特点包括:异步传输(无时钟信号)、LSB优先的数据帧结构(含起始/停止位)、可配置参数(波特率、校验等)。相比并行传输,串行方式成本低、抗干扰强但速率较慢。UART衍生出TTL、RS232、RS485等电平标准,其中RS485支持千米级远距传输。Modbus是UART的典型应用协议,含RTU(高效二进制)和ASCII(可读性强)两种帧格式,广泛用于工业控制。该技术因简单可靠成为嵌入式通信的基础方案。

2026-07-13 22:56:14 428

原创 51单片机核心知识点整理

本文摘要:文章系统介绍了51单片机GPIO工作模式、中断机制和定时器应用三大部分。GPIO部分详解了准双向/高阻输入、推挽/开漏输出模式特性及应用场景;中断章节阐述5种中断源类型,重点解析外部中断触发方式和完整中断处理流程;定时器部分涵盖3种定时器配置方法,特别说明8位自动重装载模式原理,并分析PWM周期/占空比计算。最后对比有源/无源蜂鸣器驱动差异,强调PWM对无源蜂鸣器的音调控制作用。全文以寄存器配置和典型电路应用为主线,构建了51单片机基础外设开发的完整知识框架。(149字)

2026-07-11 19:55:36 571

原创 CPU与MCU核心区别揭秘

该摘要概述了计算机处理器的基本概念与分类,包括CPU、MCU、MPU、GPU、NPU等核心组件及其应用场景。重点解析了CPU架构中的存储器系统(RAM/ROM)、总线结构(地址/数据/控制总线)以及外设寄存器操作原理。同时详细介绍了8位数据的位操作方法(按位或、与、异或等)及其应用场景,如LED和数码管控制。最后对比了内存与外存的关键特性差异,为理解计算机硬件基础架构提供了简明参考。

2026-07-09 23:09:58 316

原创 文件I/O与标准I/O的深度解析

本文对比分析了文件I/O与标准I/O的核心差异,重点阐述了缓冲机制及其应用场景。文件I/O直接调用系统接口,无缓冲且适用于多种文件类型;标准I/O通过C库函数实现,提供行缓冲(1KB)、全缓冲(4KB)和无缓冲三种模式,优化了普通文件操作性能。文章还系统介绍了错误处理函数(strerror/perror)、目录操作接口(opendir/readdir)以及时间处理函数(time/ctime)的使用方法,涵盖权限管理、路径获取等实用功能。通过内置宏和结构体的详细说明,为系统级编程提供了全面的技术参考。

2026-06-08 23:17:13 168

原创 Linux文件编程核心技巧全解析

本文系统介绍了C语言在Linux系统下的文件编程核心内容。主要包括:1)Linux"一切皆文件"的设计哲学;2)标准IO库函数体系(fopen/fclose/fread/fwrite等);3)文件定位操作(fseek/ftell/rewind);4)三种读写模式(字符/字符串/二进制)。重点讲解了函数原型、参数说明及典型应用场景,强调编程时应关注系统原理而非语法细节,通过预定义函数实现"打开-读写-关闭"的标准流程。文中以QQ音乐为例,展示了文件编程在网络应用(30%

2026-05-31 15:51:45 251

原创 顺序栈与链式栈全面解析

本文介绍了栈的基本概念、特性和实现方式。栈是一种遵循"先进后出"(LIFO)原则的线性表,主要操作包括入栈、出栈等。文章详细阐述了顺序栈(基于数组实现)和链式栈(基于链表实现)的数据结构定义和操作接口,比较了二者的优缺点:顺序栈访问速度快但空间固定,链式栈可动态增长但需要额外指针空间。此外,还分析了栈在算法回溯、递归实现等场景的应用,并分类说明了四种栈类型(空增/减栈、满增/减栈)的特点。

2026-02-10 22:34:12 289

原创 顺序表VS链表:性能对比与应用场景

顺序表和链表是两种基本数据结构,各有特点。顺序表基于数组实现,支持O(1)随机访问但增删效率低;链表通过指针连接节点,增删效率高但访问需遍历。双向链表在单向链表基础上增加前驱指针,支持双向遍历,适用于浏览器历史记录等需要前后操作的应用场景。顺序表适合查询频繁、数据量稳定的情况,链表则更适合频繁增删、数据动态变化的场景。两者在存储方式、访问效率、空间利用等方面各有优劣,应根据具体需求选择使用。

2026-02-09 21:06:36 893

原创 数据结构与算法入门指南

本文摘要: 数据结构基础包括逻辑结构(集合、线性、树形、图)和物理存储方式(顺序/链式)。算法设计需遵循正确性、可读性、健壮性和高效性原则,时间复杂度分析是关键。线性表实现展示了顺序存储结构的操作接口和优缺点(随机访问快但插入删除效率低)。单向链表通过动态内存分配解决顺序存储的局限性,详细实现了创建、插入、查找、删除等操作,包含完整代码示例。最后介绍了Makefile在多文件工程管理中的应用,包括编译规则编写和自动化构建的优势。全文系统性地讲解了数据结构核心概念及其实际编程实现。

2026-02-06 21:16:47 447

原创 位运算实战技巧30例

位运算与堆内存管理是C语言编程中的两个重要概念。位运算部分介绍了二进制转换、运算符(&、|、^、~、<<、>>)及其应用场景,如权限控制和高效计算。堆内存管理部分阐述了malloc/free的基本用法,强调内存泄漏风险及防范措施,包括保存返回指针、避免指针覆盖等。文中提供了多个代码示例,如无临时变量交换整数、函数返回堆内存的正确处理方式等。特别指出位运算仅适用于整数类型,而堆内存需要手动管理,释放后应将指针置NULL以避免悬垂指针。这些技巧对提升程序效率和安全性至

2026-02-04 11:28:50 1030

原创 C语言结构体详解与应用指南

本文介绍了C语言中结构体、共用体和枚举类型的定义与使用方法。结构体部分详细说明了定义语法、变量声明、初始化方式(完全初始化、GCC局部初始化、零初始化)以及成员访问(直接访问和指针访问),并讲解了内存对齐原则和嵌套结构体的应用。共用体部分重点阐述了其内存共享特性与结构体的区别。枚举类型部分展示了如何定义枚举值列表及其应用场景。文章还涉及结构体数组的初始化和遍历操作,以及CPU字节序(大端/小端存储)的概念说明。这些自定义数据类型为C语言编程提供了更灵活的数据组织方式。

2026-02-03 16:34:45 598

原创 指针数组与数组指针全解析

本文摘要: 指针数组是存储指针元素的数组,常用于存储字符串地址,定义形式为"类型*数组名[]",可通过下标或指针运算访问。数组指针则指向整个数组,主要用于处理二维数组,定义形式为"类型(*指针名)[大小]"。文中通过示例展示了指针数组的参数传递方式(等价于二级指针)和数组指针与二维数组的配合使用,包括两种访问方式:下标法和指针运算。同时说明了数组名与指针在地址值和类型上的区别,以及sizeof运算的差异。

2026-02-02 20:54:34 413

原创 指针函数:避免返回局部变量地址

本文介绍了指针函数、函数指针和二级指针的使用要点。指针函数需注意避免返回局部变量地址,可使用static变量或字符串常量;函数指针通过存储函数地址实现动态调用,常用于回调函数降低耦合度;二级指针则用于指向指针变量地址。文章还讲解了指针常量与常量指针的区别,以及void指针作为通用指针的特性,强调其类型转换的必要性。通过代码示例展示了这些指针技术的实际应用场景和注意事项。

2026-01-31 17:39:31 524

原创 数组与指针:本质与差异解析

摘要:数组名本质上是数组首元素的指针常量,其地址不可修改。指针与数组在访问元素时具有等价性,a[i]等价于*(a+i)。数组名作为函数参数传递时会自动转换为指针。指针算术可以用于数组遍历,但数组名作为常量指针不能进行递增操作。sizeof运算对数组和指针返回不同结果:数组返回整个数组大小,指针返回指针变量大小。多维数组中,数组名具有不同的指针类型特性。通过指针访问数组元素存在四种等效语法形式。

2026-01-30 17:42:27 574

原创 指针核心特性与高效内存操作

本文系统阐述了C语言指针的核心概念与应用特性。指针作为存储内存地址的特殊变量,具有高效访问内存、支持底层硬件开发等特点。主要内容包括:1)内存结构解析,包括32位系统的4GB寻址范围与内存分区;2)指针本质与运算符(&和*)的使用方法;3)指针定义与初始化规范,强调避免野指针;4)指针特有的算术运算规则,说明其以数据类型大小为单位的偏移特性;5)指针与数组的关系,展示通过指针访问和遍历数组的技术要点。文中通过代码示例详细演示了指针操作的实际应用,并特别强调了类型匹配和内存安全的重要性。

2026-01-28 21:31:50 610

原创 GCC编译全流程解析

GCC编译流程详解及宏定义使用指南 GCC编译过程分为预处理、编译、汇编和链接四个阶段:预处理阶段进行宏展开和头文件包含,生成.i文件;编译阶段将代码转为汇编语言(.s文件);汇编阶段生成机器码目标文件(.o);最后链接生成可执行程序。宏定义方面,介绍了无参宏和带参宏的语法及使用注意事项,强调参数加括号避免优先级问题。头文件内容应包含声明而非实现,并通过条件预处理防止重复包含。示例代码展示了多文件编程中头文件的规范用法,包括函数声明和宏定义。

2026-01-27 17:31:57 437

原创 C语言常量与变量核心解析

本文摘要:本文系统介绍了C语言中的常量与变量概念,重点阐述了整型、浮点型和字符常量的特点及表示方法,详细说明了变量的定义规则、命名规范和内存特性。同时深入讲解了表达式与运算符的使用,包括算术运算符、赋值运算符、复合赋值运算符和特殊运算符(逗号、sizeof)等,特别强调了类型转换规则和自增/自减运算符的注意事项。最后总结了运算符的优先级和结合律,为正确编写C语言表达式提供了完整的语法参考。全文内容涵盖了C语言基础语法中最核心的变量与运算符知识要点。

2026-01-25 08:44:01 524

原创 函数编程:高效复用与模块化设计

摘要:本文介绍了C语言函数的核心概念,包括函数定义与调用语法、参数传递机制(值传递和地址传递)、变量作用域与生命周期、存储类型以及递归调用。重点阐述了函数在避免代码重复、实现模块化和低耦合设计中的作用,详细说明了形参与实参的关系、数组作为参数的地址传递特性,以及递归调用的实现要点和注意事项。文章还涵盖了内存布局和变量存储类型对程序性能的影响,为理解函数在C语言中的运用提供了全面指导。

2026-01-25 08:43:11 539

原创 数组基础:定义、初始化与遍历技巧

摘要:数组是存储相同数据类型元素的有限集合,具有元素类型相同、数量固定等特性。主要分为一维、二维及多维数组,通过下标访问元素(0到n-1)。定义语法需指定数据类型、数组名和元素个数,初始化可完全、部分或自动推断大小。数组在内存中连续存储,总大小为元素个数乘以基类型大小。遍历数组通常使用循环结构,通过计算数组长度实现高效访问。数组不支持整体操作,必须逐个元素处理。

2026-01-24 09:07:40 289

原创 C语言I/O与流程控制精要

本文介绍了C语言中的输入输出函数和流程控制结构。在I/O操作方面,详细说明了字符输入输出函数(putchar/getchar)和格式化输入输出函数(printf/scanf)的用法、参数及注意事项。在流程控制方面,讲解了分支结构(if/switch)和循环结构(while/for/do-while)的语法形式,以及循环控制语句(continue/break)的使用方法。最后以九九乘法表为例,展示了嵌套循环的实际应用,并强调了循环三要素(初始化、条件、变化)的重要性。

2026-01-24 09:07:17 445

原创 Linux文件系统与命令速查手册

【代码】Linux文件系统与命令速查手册。

2026-01-23 17:07:53 772

原创 C语言基础学习(基础数据类型)

本文摘要介绍了计算机数据存储的基本概念。主要内容包括:1)数据单位换算(bit到TB的进制关系);2)进制转换方法(十进制与二进制、八进制、十六进制的相互转换);3)数据类型详解:整型(有符号/无符号)、字符型(ASCII编码)、浮点型(单/双精度IEEE754标准)以及void特殊类型。其中重点说明了整型的存储范围、负数的补码表示原理,以及浮点型的结构组成和精度范围。这些基础知识是理解计算机数据存储和处理的重要前提。

2026-01-23 17:02:23 172

原创 数组操作技巧:倒置、排序与初始化、

本文介绍了C语言中数组的基本操作,包括一维数组和二维数组的使用方法。主要内容包括:1)一维数组的倒置、冒泡排序和选择排序实现;2)二维数组的定义、初始化、访问及内存特性;3)字符数组的定义、初始化、输入输出及访问元素。重点讲解了数组排序算法(冒泡和选择排序)的实现原理,以及二维数组的内存计算方式。同时强调了字符数组必须以'\0'结尾的特性,并提供了多种初始化方式。这些操作是C语言中处理数组数据的基础技能。

2026-01-13 19:10:55 733

基于51单片机,89C52RC芯片,普中51-MS开发板,DS18B20传感器编程练习

包含LED控制,蜂鸣器响动,动态数码管数字显示,传感器测试温度动态显示。

2026-07-15

空空如也

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

TA关注的人

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