自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记——Linux字符设备驱动

本文介绍了Linux字符设备驱动开发的关键流程和实现方法。主要内容包括:1)字符设备驱动的基本结构,包含设备号分配、注册和初始化过程;2)驱动开发操作步骤,从文件创建到设备树配置;3)设备号的自动分配机制及其优势;4)杂项设备驱动的简化实现方案;5)内核模块的编译、加载和调试方法。文章详细阐述了驱动开发的核心要素,包括文件操作结构体定义、资源管理机制和错误处理策略,并比较了静态分配、动态分配和杂项设备三种实现方式的差异。最后总结了驱动开发的标准流程和实际应用中的注意事项,为嵌入式Linux驱动开发提供了实用

2026-02-05 21:28:30 430

原创 C语言核心概念复习——进程与线程

本文系统阐述了进程与线程的核心概念及区别。进程是执行中的程序,拥有独立的4GB虚拟地址空间(3GB用户空间+1GB内核空间),具有稳定性高但开销大的特点;线程是程序执行线路,共享进程资源,效率高但稳定性低。详细分析了内存布局:用户空间包含代码段、数据段、堆、栈等区域,内核空间为系统专用。特别强调了编程注意事项:野指针处理、函数返回值传递机制以及动态库使用方式。通过对比表格总结了进程与线程的关键差异,并归纳了各内存区域的功能特性,为系统编程提供了重要参考。

2026-02-05 20:34:18 418

原创 C语言核心概念复习——文件编程

本文全面介绍了Linux文件编程的两种主要方式:标准I/O和系统I/O。标准I/O提供跨平台、带缓冲区的高级接口,适合文本处理和频繁小数据操作;系统I/O则是Linux特有的无缓冲低级接口,适合设备操作和精细控制。文章详细对比了两者的性能差异、缓冲区机制(全缓冲/行缓冲/无缓冲)和使用场景,并讲解了文件空洞、网络I/O等特殊应用。最后提供了实际开发中的选择建议和常见问题解决方案,强调合理使用缓冲区刷新和文件描述符管理的重要性。

2026-02-04 20:42:03 519

原创 学习笔记——Linux字符设备驱动开发

本文介绍了Linux字符设备驱动开发的基本概念与实践方法。主要内容包括:1)设备驱动作为硬件与操作系统的"翻译官"作用及其三大任务;2)应用程序与驱动交互流程,包括打开、读写设备的过程;3)设备驱动分类(字符/块/网络设备);4)设备号结构与地址空间规范;5)详细演示了创建简单字符设备驱动的完整流程,包括代码实现、编译配置和测试方法;6)提供了开发工具使用技巧和调试方法;7)总结了标准字符设备驱动框架和关键数据结构;8)列举了常见问题解决方案。文章通过具体代码示例,帮助开发者掌握从理论到

2026-02-04 20:29:41 569

原创 学习笔记——Linux内核与嵌入式开发3

本文详细介绍了Linux内核编译系统与ARM开发的关键技术要点。主要内容包括:1)内核Makefile结构、配置变量系统和自动变量使用;2)完整的内核编译流程,从源码获取到部署验证;3)内核镜像格式(Image/zImage/uImage)及其生成关系;4)Kconfig配置系统的语法与使用方法;5)向内核添加新驱动文件的完整步骤;6)交叉编译工具链的组成与命名规则;7)开发板与主机的网络配置方法;8)常见编译和运行问题的解决方案。文章提供了ARM架构下Linux内核开发与设备驱动编程的实用技术参考。

2026-02-03 21:44:05 726

原创 学习笔记——Linux内核与嵌入式开发2

本文详细介绍了Linux系统启动流程及开发环境配置方法。主要内容包括:1)i.MX6处理器的SD卡四阶段启动流程(ROM启动、Bootloader执行、内核加载、根文件系统挂载)和网络启动流程(TFTP+NFS);2)Ubuntu开发环境的TFTP/NFS服务器配置步骤;3)U-Boot常用命令详解(环境变量管理、网络操作、内存操作等);4)内核启动参数解析及常见故障排查方法。文章提供了从硬件启动到软件配置的完整指导,适用于嵌入式Linux系统开发人员。

2026-02-03 21:35:12 835

原创 学习笔记——Linux内核与嵌入式开发1

本文系统介绍了ARM嵌入式开发与Linux驱动的基础知识。主要内容包括:1)ARM硬件基础,详细对比了RAM、ROM和Flash等存储设备的特性及应用场景;2)Linux启动流程三阶段分析,重点解析了Bootloader、内核和根文件系统的功能与协作机制;3)ARM开发板网络配置方法,特别是NFS挂载的具体实现;4)ARM应用开发模式,涵盖交叉编译、调试技术和性能分析方法。文中还提供了存储设备对比表和系统启动方式比较,为嵌入式开发者提供了实用的参考指南。

2026-02-03 21:25:06 536

原创 C语言核心概念复习(三)

本文总结了C语言的核心知识,包括函数、文件操作、内存管理、预处理器、位运算、错误处理和标准库函数等高级特性。主要内容涵盖:函数定义与调用、参数传递方式、递归实现;文件打开关闭、读写操作与定位;动态内存分配与管理技巧;预处理器条件编译与宏的高级用法;位字段结构体与位运算技巧;错误处理机制与断言使用;以及标准库中数学、时间和随机数等常用函数。这些知识点是C语言编程的重要基础,掌握它们有助于编写高效、可靠的程序。

2026-02-03 20:40:47 477

原创 C语言核心概念复习(二)

本文系统讲解了C语言中数组、指针和字符串的核心知识。数组部分涵盖一维/二维数组的声明初始化、内存存储特性及遍历方法;指针部分详解基础用法、运算规则、多级指针、函数指针及void指针;字符串部分介绍表示方式、常用函数及与指针的关系。此外还包含动态内存分配、结构体/联合体等高级特性。重点阐述了数组与指针的等价关系、内存操作注意事项,并总结了各类指针的声明方式和使用场景。这些内容构成了C语言内存管理和高效编程的基础核心知识。

2026-02-03 20:37:35 740

原创 C语言核心概念复习(一)

本文详细解析了C语言的核心概念,重点介绍了关键字和指针系统。在关键字部分,通过代码示例演示了static关键字的静态变量特性和作用域限制、extern关键字的跨文件声明、const关键字的常量定义和指针组合用法,以及volatile关键字在多线程和硬件编程中的应用。指针系统部分深入讲解了基础指针概念、各种指针类型(包括函数指针、数组指针、指针数组等)、多级指针以及复杂声明的解读方法。文章通过大量代码示例展示了这些核心概念的实际应用场景和使用技巧,为C语言程序员提供了全面的参考指南。

2026-02-03 20:22:28 101

原创 复习——计算机系统与ARM处理器架构

本文系统介绍了计算机体系结构的基础知识。首先阐述了计算机系统的硬件和软件组成,以及冯·诺依曼体系结构的五大核心部件。重点讲解了中央处理器的功能组成、指令集架构和位宽概念,并详细分析了存储器系统的层次结构。文章深入探讨了ARM体系结构的特点,包括其商业模式、数据类型、工作模式、寄存器组织和异常处理机制。同时介绍了软件开发流程和数字电路基础,最后概述了ARM最小系统的构成要素和常见通信接口。全文内容涵盖了从理论到实践的计算机体系结构核心知识,为理解现代计算机系统提供了系统性的参考框架。

2026-01-27 21:14:24 691

原创 ARM开发——阶段问题综述(二)

摘要:本文系统介绍了计算机系统的三大基础模块:中断系统、时钟系统和通信基础。中断系统阐述了中断机制的原理和处理流程,实现事件驱动的实时响应;时钟系统解析了时钟树的组成及各组件功能,重点说明PLL、分频器等如何协同工作;通信基础详细对比了不同通信模式(单工/半双工/全双工)、传输方式(串行/并行)、同步方法(异步/同步)的特点,并介绍了UART、RS-232等常见串口标准。全文从硬件实现角度,深入浅出地讲解了计算机系统的核心工作机制。

2026-01-27 20:05:36 826

原创 学习笔记——LCD技术详解

LCD(液晶显示器)是一种利用液晶光电效应的平板显示技术,通过电压控制液晶分子排列来调节透光率。其多层结构包括背光模组、偏振片、TFT阵列基板、液晶层和彩色滤光片,共同实现光线调制和彩色显示。采用TN模式时,液晶分子在电场作用下改变排列状态,控制光线通过与否,结合RGB子像素混合实现彩色显示。LCD驱动需配置精确的时序参数和接口信号,包括像素时钟、同步信号等,通过主控制器完成硬件连接和软件配置后,即可自动从帧缓冲区读取数据显示。该技术基于电控光调制原理,通过TFT主动寻址和精确驱动在背光基础上合成稳定图像。

2026-01-27 19:08:10 832

原创 学习笔记——ADC(模数转换器)技术

摘要:ADC(模数转换器)是将模拟信号转换为数字信号的关键电子器件,广泛应用于传感器采集、工业控制等领域。其核心参数包括基准电压(决定测量范围)和分辨率(决定精度,常见8-24位)。转换过程分为采样、保持、量化和编码四个步骤。以12位ADC为例,3.3V基准电压下每个LSB约为0.8mV,输出电压计算公式为V=(n/4096)×3.3V。实际应用中需注意阻抗匹配、噪声抑制和参考电压稳定性等问题。i.MX6ULL等嵌入式处理器通常提供可配置的ADC模块,支持不同分辨率和采样时间设置。

2026-01-26 20:36:13 688

原创 学习笔记——I2C(Inter-Intergrated Circuit)总线详解

本文详细介绍了I2C总线的基本原理及其在i.MX6UL控制器上的实现。I2C是一种由Philips开发的双线制(SCL时钟线、SDA数据线)串行通信协议,支持多主多从结构,具有7/10位地址寻址和多种速率模式。文章重点分析了I2C的通信时序,包括起始/停止信号、数据传输格式和应答机制。针对i.MX6UL平台,详细阐述了I2C控制器的寄存器配置、初始化流程和写操作实现,并提供了EEPROM应用示例。最后指出了现有代码的改进方向,如增加读操作、完善错误处理等。I2C协议的关键在于严格遵循其时序规范,确保通信可靠

2026-01-24 22:40:48 564

原创 嵌入式开发代码实践——串口通信(UART)开发

摘要:本文详细介绍了UART串口通信的开发实现,主要包括:1)UART基础概念,包括异步通信特点、数据帧格式;2)i.MX6ULL硬件原理分析,涵盖控制器结构和引脚配置;3)代码实现详解,包含初始化配置、波特率计算、收发函数实现;4)主程序应用示例,展示回显功能实现;5)常见问题调试方法。重点解析了寄存器配置、波特率计算公式(115200bps)和状态标志检测机制,为嵌入式系统串口开发提供了完整的技术参考。

2026-01-23 23:42:44 1275 2

原创 学习笔记——嵌入式系统通信基础及串口开发

本文介绍了嵌入式系统通信基础及i.MX6ULL串口开发要点。首先阐述了通信基本概念,包括异步/同步、串行/并行通信方式的对比,以及单工/半双工/全双工的区别。重点分析了i.MX6ULL开发板的串口硬件设计,详细说明了CH340G USB转串口芯片的工作原理。在软件实现方面,系统讲解了UART初始化流程、关键寄存器配置和波特率计算方法,并提供了发送/接收函数的实现代码。最后介绍了标准输入输出库的移植方法,包括Makefile修改和汇编文件处理。文章为嵌入式串口通信开发提供了完整的参考方案。

2026-01-23 23:33:05 729

原创 嵌入式开发代码实践——时钟控制

本文详细介绍了i.MX6ULL嵌入式系统的启动流程和底层驱动实现。主要内容包括:1)系统启动过程,包含异常向量表设置、CPU初始化、栈指针配置和BSS段清零;2)时钟系统初始化,详细讲解了ARM内核时钟、PLL配置和总线时钟分频;3)中断系统实现,涵盖GIC控制器初始化和中断服务注册机制;4)GPIO外设驱动开发,包括LED、蜂鸣器和按键的中断驱动实现;5)主程序工作流程和关键概念解析。文章通过汇编与C语言结合的实例代码,完整展示了从硬件初始化到中断处理的嵌入式系统开发过程。

2026-01-22 22:42:41 689

原创 学习笔记——时钟系统与定时器

本文详细介绍了嵌入式系统中的时钟系统与定时器工作原理。主要内容包括:1) 时钟基本概念,解析了定时器、时钟和实时时钟的定义及频率单位;2) i.MX6ULL时钟硬件架构,涵盖晶体振荡器、锁相环电路和分频器的设计原理;3) 具体实现方案,展示ARM PLL配置流程和系统时钟代码实现;4) 定时器工作模式,对比分析51单片机定时器和i.MX6ULL的EPIT/GPT定时器特性;5) 重点问题详解,包括PLL/PFD作用、配置流程及调试技巧。文章强调时钟配置的安全规范和定时器精度考量,为嵌入式系统开发提供重要参考

2026-01-22 20:25:36 833

原创 ARM嵌入式开发代码实践——LED灯闪烁+蜂鸣器报警+按键控制(中断版)

本文详细介绍了基于IMX6ULL开发板的嵌入式中断系统开发全过程。主要内容包括:1)硬件平台与开发环境搭建;2)系统启动流程与异常向量表实现;3)GIC中断控制器初始化与管理;4)GPIO按键中断的完整实现方案;5)构建系统与主程序设计。文章通过汇编与C语言混合编程的方式,从底层硬件操作到上层应用开发,系统地讲解了中断处理机制,包括中断注册、优先级设置、标志位清除等关键环节。最后提供了开发步骤指南和常见问题解决方法,为嵌入式开发者实现高效的中断驱动系统提供了实用参考。

2026-01-21 21:48:06 760

原创 学习笔记——GPIO按键与中断系统

本文总结了嵌入式开发中GPIO按键的两种实现方式。轮询方式通过主循环检测按键状态,存在响应延迟和漏检风险;中断方式则通过GIC控制器实现即时响应,详细介绍了GICv2架构、中断类型和CP15协处理器的配置方法。代码实现采用模块化设计,遵循OCP原则,分为硬件层、驱动层、中断管理层和应用层。对比显示中断方式在实时性和CPU利用率方面优势明显,但复杂度较高。实践建议包括使用调试工具、检查中断配置、优化ISR执行时间等。本文为嵌入式实时系统开发提供了实用参考。

2026-01-21 21:28:37 901

原创 ARM嵌入式开发代码实践——LED灯闪烁+蜂鸣器报警+按键控制(DSP版)

本文介绍了一个基于i.MX6ULL处理器的嵌入式裸机开发项目,实现了LED灯、蜂鸣器和按键控制功能。项目采用模块化设计,包含LED驱动、蜂鸣器驱动、按键检测等核心模块,通过GPIO接口实现硬件控制。系统上电后初始化外设时钟和硬件接口,在主循环中检测按键状态并控制LED和蜂鸣器状态翻转。文章详细阐述了项目架构、代码实现、硬件连接及编译烧录流程,重点讲解了GPIO配置、启动文件、链接脚本等关键技术要点,为嵌入式裸机开发提供了实践参考。

2026-01-21 21:26:51 703

原创 ARM开发——阶段问题综述(一)

本文系统介绍了ARM架构的核心技术要点,主要内容包括:1)ARM内核组成,详细解析了ALU、寄存器组、MMU等关键部件的功能与位置;2)7种工作模式及其编码,异常向量表的结构与作用机制;3)ARM汇编核心技术,包括立即数判断、分支指令差异、栈类型及条件标志位设置规则;4)嵌入式开发实践,涵盖GPIO寄存器配置流程、ELF文件结构解析和链接脚本的核心作用。全文通过清晰的表格对比和代码示例,深入浅出地阐述了ARM体系的关键技术原理及其在嵌入式开发中的实际应用。

2026-01-20 23:44:15 669

原创 嵌入式开发——ARM Cortex-A7内核和i.MX6处理器相关的底层头文件

本文档详细分析了i.MX6Y2芯片开发相关的核心头文件架构与功能。文件层次包含:cc.h(基础数据类型)、core_ca7.h(Cortex-A7内核定义)、fsl_common.h(飞思卡尔通用定义)、MCIMX6Y2.h(芯片外设寄存器)和fsl_iomuxc.h(IO复用配置)。重点解析了各文件的实现细节,包括volatile修饰符使用、协处理器寄存器操作、状态码标准化、外设寄存器映射等关键技术。文档还说明了文件间的依赖关系,提供了系统初始化示例流程,并总结了关键知识点和开发注意事项,为i.MX6Y2

2026-01-20 23:31:26 686 1

原创 ARM嵌入式开发代码实践——LED灯闪烁+蜂鸣器报警(DSP版)

本文介绍了基于i.MX6ULL处理器的嵌入式开发实践。主要内容包括:1. 工程构建与SDK使用,采用模块化目录结构;2. 链接脚本详解,控制内存布局和段分配;3. 启动流程分析,重点说明.bss段初始化机制;4. 外设驱动开发,包含LED和蜂鸣器的GPIO控制实现;5. 完整的Makefile构建系统,支持编译、烧写和调试。项目采用BSP设计思想,通过头文件提供统一接口,实现了硬件操作与应用程序的解耦,为嵌入式开发提供了标准化实践范例。

2026-01-20 23:28:18 727

原创 ARM嵌入式开发代码实践——LED灯闪烁(C语言版)

本文详细介绍了嵌入式LED控制程序的开发流程,包含汇编启动代码和C语言控制两部分。主要内容包括:1)汇编启动代码实现异常向量表、处理器模式切换和栈指针初始化;2)C语言主程序完成GPIO时钟使能、引脚配置和LED控制逻辑;3)Makefile编译脚本的配置说明。文章重点讲解了GPIO控制的三个关键步骤(复用功能配置、电气特性设置、方向控制)以及嵌入式开发的寄存器编程方法,并提供了常见问题排查指南。该示例完整展示了从汇编启动到C语言控制的嵌入式开发流程,适用于i.MX6ULL平台。

2026-01-20 22:52:20 821

原创 学习笔记——文件传输工具配置与Makefile详解

本文详细介绍了Ubuntu FTP服务配置和Makefile编译流程。FTP配置部分包含安装vsftpd、修改配置文件、设置权限掩码等关键步骤,并提供了安全建议。Makefile解析部分展示了ARM交叉编译的完整流程:从汇编文件编译为目标文件(.o),链接为可执行文件(.elf),提取二进制文件(.bin),并生成反汇编文件(.dis),重点说明了-Ttext指定运行地址的重要性。文章还提供了开发环境准备清单和常见问题解决方案,形成了一套完整的嵌入式开发工作流程,涵盖代码编写、编译、传输和烧录全过程。

2026-01-20 19:45:48 699

原创 ARM嵌入式开发代码实践——LED灯闪烁(汇编版)

本文详细介绍了ARM开发环境搭建和LED控制程序实现过程。首先通过shell脚本完成工具链安装配置,包括创建目录、解压工具链和设置环境变量。接着展示了一个完整的LED控制汇编程序,包含中断向量表、异常处理、模式设置、LED初始化和控制逻辑。程序通过操作IMX6ULL的GPIO寄存器实现LED闪烁功能。最后说明了编译流程(预处理、编译、汇编、链接)和烧录到SD卡的方法,并总结了SoC引脚配置要点和工具链各组件功能。整个实践涵盖了从环境搭建到硬件控制的完整开发流程。

2026-01-19 19:59:42 637

原创 ARM 嵌入式开发学习——从内核到外设

摘要:本文详细介绍了基于IMX6ULL-Mini开发板的ARM嵌入式开发学习笔记。内容包括开发板硬件组成(核心板与底板)、开发环境搭建(交叉编译工具链安装)、ARM架构基础理论(工作模式与寄存器)、外设控制原理(GPIO与IOMUXC)以及完整开发流程。重点讲解了引脚复用概念、寄存器操作方法和调试理论,通过类比方式帮助理解专业术语。文中提供了从代码编写到烧录运行的全流程指导,并附有重要概念对照表,为ARM嵌入式开发初学者提供了系统性的学习参考。

2026-01-19 19:29:06 676

原创 复习——ARM Cortex-A 裸机开发深度解析

《ARM Cortex-A裸机开发深度解析》摘要:本文系统讲解了ARM Cortex-A架构裸机开发的核心要点。首先剖析了ARM架构的分层结构,指出裸机开发直接操作SoC硬件(CPU核心+外设模块)的本质,对比了CPU、MCU、MPU和SoC的特性差异。重点阐述了RISC架构的三大优势:固定指令长度、加载/存储架构和丰富寄存器资源。详细解析了ARM寄存器系统(通用寄存器r0-r15和状态寄存器CPSR/SPSR)的使用规则,以及MOV/LDR、ADD/SUB/CMP、BIC/ORR等核心汇编指令的用法。通过

2026-01-18 20:17:09 757

原创 应用——基于 51 单片机的多功能嵌入式系统

本文介绍了一个基于8051单片机的多功能嵌入式系统,采用模块化设计实现UART通信、LED控制、数码管显示、蜂鸣器频率调节和温度传感器读取等功能。系统通过自定义7字节通信协议(帧头+地址+功能码+数据+校验和+帧尾)接收指令并执行相应操作,包含数据解析、功能执行和响应回调等核心模块。详细分析了串口通信、定时器、温度传感器等硬件驱动实现,并说明了系统初始化、主循环和中断处理的工作流程。该系统展示了8051单片机在嵌入式控制中的典型应用,具有良好的扩展性和模块化编程特点。

2026-01-18 20:13:35 794

原创 学习笔记——ARM Cortex-A 裸机开发实战指南

《ARMCortex-A裸机开发实战指南》摘要: 本文详细讲解ARM Cortex-A架构的裸机开发核心技术,涵盖汇编指令系统、程序流程控制、函数调用与栈操作、混合编程及工作模式切换。重点包括:1) MOV/LDR等数据移动指令的完整形态与内存操作技巧;2) 条件标志位(NZCV)的产生机制与条件执行实战;3) 位操作指令(BIC/ORR/EOR)的灵活应用;4) while/for循环的汇编实现与条件跳转优化;5) 函数参数传递规则(寄存器+栈)及现场保护方法;6) C与汇编混合编程接口规范;7) CPS

2026-01-17 23:32:01 764 1

原创 学习笔记——ARM Cortex-A 裸机开发体系架构

本文系统介绍了ARM Cortex-A裸机开发体系架构,主要内容包括:1)ARM体系结构全景视图,对比嵌入式系统层级架构和裸机开发定位;2)RISC架构设计哲学及其四大优势;3)ARM寄存器体系与状态寄存器解析;4)立即数编码原理及12位编码算法;5)条件执行系统与条件码表;6)栈机制与四种栈模型对比;7)工作模式切换与异常处理机制;8)混合编程接口AAPCS标准;9)启动代码架构设计五阶段流程。全文通过图表、代码示例和算法详细阐述了ARM裸机开发的核心技术要点。

2026-01-17 23:29:49 860

原创 应用——基于51单片机的串口通信与LED控制系统

本文介绍了一个基于51单片机的串口通信与LED控制系统。系统采用自定义通信协议,通过串口命令控制LED显示,包含完整的数据校验和应答机制。主要内容包括:1) 串口驱动模块实现,包含初始化、中断处理和发送功能;2) 自定义通信协议设计,包含命令帧格式和应答机制;3) LED控制模块实现;4) 主程序流程和系统优化建议。项目具有模块化设计、可靠通信协议、中断驱动等特点,支持多种外设扩展,为嵌入式串口通信系统开发提供了参考方案。

2026-01-16 23:53:12 849

原创 学习笔记——ARM 嵌入式系统与内核架构

本文详细介绍了ARM嵌入式系统与内核架构。主要内容包括:1)计算机系统基本组成,重点解析嵌入式系统定义和处理器分类;2)存储器系统,详细对比RAM和ROM类型及其特性;3)ARM内核架构,深入讲解指令集演进、Cortex系列、工作模式、异常处理机制和寄存器组织;4)内存管理、调试跟踪和编程模型等关键技术。文章系统阐述了ARM作为RISC架构的特点,包括7种工作模式、异常向量表、多层次存储体系等核心概念,为理解ARM嵌入式系统提供了全面参考。

2026-01-16 23:08:31 882

原创 学习笔记——DS18B20 温度传感器

摘要:DS18B20是一款数字温度传感器,采用单总线通信协议,具有-55℃至+125℃测量范围,±0.5℃精度。文章详细介绍了其引脚定义、单总线协议、温度数据格式(16位二进制补码)、分辨率配置(9-12位可调)以及精确的通信时序要求(复位、读写时序)。提供了完整的驱动程序实现方案,包括硬件抽象层定义、延时函数、复位/读写函数及温度读取流程。最后总结了常见问题解决方案和关键参数,为开发者提供了全面的技术参考。

2026-01-15 22:59:55 1020

原创 学习笔记——UART(通用异步收发器)

摘要:UART(通用异步收发器)是一种全双工、异步串行通信接口,采用交叉连接方式(TXD-RXD)实现设备间通信。其特点包括:LSB优先的数据传输、可选的奇偶校验、灵活的通信参数配置(波特率/数据位/校验位/停止位)。通信时序包含起始位(低电平)、数据位(5-9位)、校验位和停止位(高电平)。硬件实现需配置SCON/PCON寄存器,通过定时器计算波特率。相比并行通信,串行方式成本低、抗干扰强但速率较慢。典型应用采用主从架构,配合Modbus等协议实现设备交互。

2026-01-14 19:33:35 858

原创 应用——基于51单片机的按键控制蜂鸣器

摘要:本项目基于51单片机实现按键控制蜂鸣器系统,包含按键检测、定时器中断和外部中断功能。系统通过4个独立按键(P1.4-P1.7)控制输出不同频率的方波信号,按键1-4分别对应200Hz、400Hz、600Hz和800Hz。采用定时器0工作在16位模式产生精确中断,通过改变重载值实现频率调节,并在P2.1引脚输出方波。系统还实现了外部中断0的计数功能,展示了51单片机的中断处理、定时器应用和IO控制等核心功能。项目包含主程序、按键控制模块和定时器模块三个主要部分。

2026-01-13 18:24:36 327

原创 学习笔记——51单片机学习

摘要:本文系统整理了51单片机核心知识点,包括GPIO输入/输出模式、独立按键工作原理、中断系统处理流程、定时器配置方法、PWM调制原理及蜂鸣器驱动方式。重点涵盖了GPIO的4种输入和4种输出模式、中断处理6大步骤、定时器自增计数原理、PWM周期与占空比计算等关键概念,并提供了中断初始化、定时器配置和按键检测的典型代码示例。笔记内容结构清晰,理论与实践结合,可作为51单片机学习的快速参考指南。(149字)

2026-01-13 18:00:19 940

原创 学习笔记——嵌入式与51单片机学习

本文系统介绍了51单片机嵌入式开发的核心知识,包括:1)嵌入式系统定义及特点;2)51单片机发展历程与主流型号;3)CPU/MCU/MPU等处理单元的区别;4)51单片机硬件结构及开发板配置;5)LED控制原理与位运算技巧;6)开发环境搭建与程序下载流程;7)数码管动态显示技术及三极管驱动原理。重点阐述了共阳极LED控制、位运算应用、动态扫描显示等关键技术,并详细说明了开发过程中的注意事项,为51单片机学习提供了系统的知识框架和实践指导。

2026-01-12 23:12:06 843

空空如也

空空如也

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

TA关注的人

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