自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式通信协议完全解析:UART_SPI_I2C_CAN实战应用指南

CAN(Controller Area Network)是一种专门用于工业控制的串行通信协议。CAN的特点:高可靠性:错误检测和纠正机制完善多主架构:任何节点都可以发送数据优先级仲裁:基于消息ID的优先级长距离:可达数千米高速:可达1Mbps✅ 通信协议的基本原理✅ UART串口通信的配置和应用✅ SPI高速数据传输的实现✅ I2C多设备总线管理✅ CAN工业总线应用✅ 协议选型和系统设计✅ 调试技巧和问题诊断✅ 性能优化和错误处理。

2025-12-11 21:52:22 816

原创 STM32 HAL库实战指南:从零开始构建嵌入式应用系统

《STM32 HAL库实战指南》摘要 本文档系统介绍了STM32 HAL库的开发方法,采用12章渐进式结构,从基础到高级全面讲解HAL库应用。内容涵盖:HAL库架构解析、时钟系统配置、GPIO编程、中断处理、定时器应用、串口/I2C/SPI通信、ADC采集、DMA传输、低功耗设计等核心技术,最后通过智能环境监测系统综合项目实战。文档突出"理论+实践"特色,每章包含原理讲解、代码示例和常见问题解决方案,特别适合嵌入式开发者系统学习STM32 HAL库开发。

2025-12-11 21:12:36 769

原创 嵌入式单片机的科技前沿:探索未来智能世界的底层力量

嵌入式单片机技术前沿综述 本文全面探讨了嵌入式单片机领域的最新发展趋势与关键技术突破。RISC-V开源架构正颠覆传统,其模块化设计和精简指令集为嵌入式系统带来全新可能。边缘AI与TinyML技术实现智能下沉,通过模型压缩和专用硬件加速使微控制器具备AI推理能力。低功耗设计技术持续突破,从制程工艺到电源管理架构的革新支撑着万物互联的能源需求。实时操作系统、新型通信协议、安全芯片技术和存储技术的进步共同构建了更强大的嵌入式系统基础。开源硬件生态的蓬勃发展加速了创新步伐。

2025-11-26 23:36:36 965

原创 基于ESP8266的智能桌面天气站

本文介绍了基于ESP8266的智能桌面天气站DIY项目。项目采用ESP8266 NodeMCU作为主控,搭配0.96寸OLED显示屏和DHT22温湿度传感器,实现天气信息实时显示。文章详细阐述了硬件选型与连接方案,包括Wi-Fi模块、显示屏和传感器的技术参数及接口设计。软件部分采用模块化架构,包含Wi-Fi连接、数据获取、传感器采集和显示驱动等模块,重点讲解了非阻塞程序设计、数据缓存和错误处理机制。提供了核心代码实现,包括Wi-Fi连接、天气API调用和OLED显示刷新功能。该项目成本低、实用性强。

2025-11-26 23:18:48 1324

原创 STM32F103C8T6_UART串口通信完整教程

STM32F103C8T6 UART串口通信教程摘要 本教程详细介绍了STM32F103C8T6的UART串口通信实现,主要内容包括: UART协议基础:异步通信原理、数据帧格式(起始位、数据位、校验位、停止位)和波特率计算 STM32硬件资源:3个USART外设特性、引脚分配及时钟配置 寄存器详解:状态寄存器、数据寄存器、波特率寄存器及控制寄存器功能说明 配置流程:时钟使能、GPIO设置、参数配置及中断管理 波特率计算方法和常用值参考表 教程涵盖从基础理论到实际配置的完整内容,适合STM32初学者系统学习

2025-10-26 19:03:46 1027

原创 STM32F103C8T6_SPI完整教程

本文详细介绍了STM32F103C8T6的SPI协议开发教程,主要内容包括:1) SPI协议基础理论,包括工作原理、信号线定义和4种时序模式;2) STM32F103的SPI硬件资源,包括3个SPI外设的引脚分配和时钟配置;3) SPI寄存器详解;4) 主从模式配置方法;5) 硬件连接注意事项;6) 标准库开发示例。文章提供了完整的SPI开发流程,涵盖理论知识和实际应用,适合从入门到进阶的学习需求。

2025-10-26 18:50:54 1368 1

原创 嵌入式C语言与标准C语言的区别所在

嵌入式C与标准C的核心差异源于运行环境:标准C面向资源丰富的PC环境,通过OS间接访问硬件,关注可移植性;嵌入式C则针对资源受限的硬件(如STM32),需直接操作寄存器,通过HAL库平衡硬件控制与可移植性。主要区别包括:内存管理(嵌入式优先静态分配)、关键字使用(依赖volatile/static)、工具链(交叉编译)、启动文件(自定义内存布局)及数据类型(定长类型保障硬件交互安全)。典型示例展示HAL库硬件操作、静态内存分配、中断声明等场景,体现嵌入式开发对资源、实时性的严格把控。

2025-10-22 22:49:26 1045

原创 STM32F103C8T6_IIC协议详解

本文详细解析了STM32F103C8T6的I2C协议实现,包含硬件配置和软件实现方法。I2C协议通过两条信号线(SDA和SCL)实现多设备通信,采用开漏输出和上拉电阻设计确保电气特性稳定。文章从物理层、协议层和时序逻辑三个层面深入剖析I2C工作原理,包括地址机制、应答交互和时序规范。针对STM32F103C8T6,详细介绍了硬件I2C外设的配置步骤、GPIO设置、总线设计规范以及硬件/软件两种实现方式的对比,提供了完整的初始化代码示例。特别强调了开漏输出模式的重要性及其在多主机仲裁机制中的作用,为嵌入式系统

2025-10-19 21:48:12 1073

原创 基于单片机的Modbus RTU协议实现与OLED显示应用开发指南

本文详细介绍了基于单片机的Modbus RTU协议实现与OLED显示应用开发。主要内容包括: Modbus RTU协议原理 作为工业自动化领域的事实标准,采用二进制编码,具有高数据密度和实时性优势 支持主从架构,兼容RS-232/RS485接口,特别适合单片机系统通信 协议帧结构 包含地址码、功能码、数据域和CRC校验四部分 详细解析了关键字段如地址码(0-247)、功能码(0x03/0x06等)的作用 CRC-16校验机制 采用0x8005多项式计算,确保工业环境的可靠通信 提供了标准C语言实现和查表法优

2025-09-19 15:43:46 1034

原创 STM32与Modbus RTU协议实战开发指南-fc3ab6a453

本文介绍了STM32与Modbus RTU协议的开发实现方法。主要内容包括:1)Modbus RTU协议详解,涵盖帧格式、CRC校验算法和常见功能码;2)硬件设计要点,包括IIC OLED连接和RS485接口电路;3)IIC驱动开发,详细说明时序控制和初始化配置;4)Modbus协议实现,重点描述主机轮询机制和数据解析方法;5)项目实战案例,提供多从机通信方案和调试技巧。文章提供了完整的代码实例、时序图和硬件连接示意图,特别强调了CRC校验、异常处理机制和性能优化方法,为工业现场总线开发提供了实用参考。

2025-09-19 14:55:47 1253

原创 STM32F103C8T6通过SPI协议驱动74HC595数码管完全指南:从硬件原理到级联实现

本文详细介绍了STM32F103C8T6通过SPI协议驱动74HC595芯片实现数码管显示的方法。74HC595是一款8位串行输入/并行输出移位寄存器,采用独立时钟控制的移位寄存器和存储寄存器结构,支持级联扩展和多设备控制。文章解析了其内部结构、引脚功能、工作时序和电气特性,并提供了与STM32的硬件连接方案。该方案能显著减少主控IO占用,支持高速数据传输(最高24MHz),适用于数码管驱动、LED矩阵控制等场景,具有低功耗、高驱动能力等特点。

2025-09-14 18:09:05 965

原创 STM32F103C8T6驱动0.96寸OLED屏幕(SSD1306)完全指南:从硬件原理到代码实现

本文详细介绍了STM32F103C8T6驱动0.96寸OLED屏幕(SSD1306)的硬件原理与实现方法。重点解析了SSD1306控制器的核心参数、128×64分辨率特性及I2C/SPI接口选择,提供了STM32引脚连接方案和上拉电阻配置建议。文章详细说明了初始化命令序列(包括复位、电荷泵启用等关键步骤)和三种地址模式(页/水平/垂直)的应用场景差异,并深入分析了I2C协议的物理层特性、时序规范及STM32硬件配置。通过硬件连接图和初始化速查表,为开发者提供了完整的驱动实现指南。

2025-09-14 17:45:44 1203

原创 python编译器PyCharm Community(社区版简洁安装)

本文介绍了PyCharm的安装配置及Python解释器的安装方法。首先说明PyCharm社区版的下载安装步骤,建议初学者使用。其次详细讲解Python解释器的下载安装过程,推荐下载exe版本并勾选添加环境变量。然后指导PyCharm的基本配置,包括主题选择和解释器设置。最后演示了创建项目、编写Python代码并运行的完整流程,通过打印"hello python"验证环境配置成功。全文提供了从零开始搭建Python开发环境的完整指南。

2025-08-07 21:58:43 1301

原创 Keil使用J-Link调试完整指南:从配置到高级调试技巧

本文系统介绍了Keil MDK与J-Link调试工具的集成与使用。主要内容包括:硬件连接指南(以STM32为例说明SWD接口连接);软件环境搭建(J-Link驱动安装与Keil配置);调试工具链详解(J-Link Commander、J-Flash烧录、RTT实时打印);Keil调试全流程(断点设置、变量监控、寄存器查看);以及常见问题解决方案。文章着重讲解了高级调试技巧如不复位调试和远程调试,并建议进一步学习ETM跟踪功能等扩展知识,为嵌入式开发者提供了从入门到进阶的完整调试方案。

2025-08-02 22:00:43 4870

原创 嵌入式单片机开发实战指南: 从RISC-V到TinyML全栈技术

2025年,嵌入式系统正经历开源架构与边缘智能的双重革命。 RISC-V指令集打破ARM垄断,国产芯片 如兆易创新GD32VF103、先楫HPM6750实现工业级可靠性;TinyML技术让STM32L4系列在1MB内  存下运行神经网络;低功耗设计使物联网节点电池寿命突破10年。本文将从架构选型→开发环境→核心 技术→实战项目,全方位拆解嵌入式开发的热门技术,带你从入门到精通。

2025-07-16 21:43:42 1515

原创 第 2 章 数据类型及其运算

C语言基本语法要点摘要 C语言的数据类型包括基本类型(int、char、float、double、enum)和用户定义类型。数据类型修饰符(long、short、signed、unsigned)可改变基本类型的意义。变量需先定义后使用,包含变量名、值和地址三要素。常量分为整型、实型和字符型三种,字符常量包括普通字符、字符串、转义字符和符号常量。 运算符包括算术、自增/减、赋值、关系、逻辑、逗号、条件、长度运算符等,优先级不同。表达式由运算符和运算数组成,不同类型数据运算时会自动转换,也可强制转换。

2025-07-14 19:41:21 1009

原创 第1章 概 述

摘要:本文系统介绍了C语言的基础知识,包括其特点(简洁性、运算符丰富、结构化好、可移植性强等)、标识符规则(由字母、数字和下划线组成,区分大小写)、程序结构(函数为基本单位,必须包含main函数)和开发流程(编辑→编译→连接→执行)。重点讲解了C程序的三种基本控制结构(顺序、选择、循环)和结构化程序设计方法,并通过例题解析常见考点。文中还指出C语言严格区分大小写,使用分号作为语句分隔符,大括号标识语句块等语法风格特点,为C语言初学者提供了全面的入门指导。

2025-07-13 20:53:58 685 1

原创 STM32F103C8T6基于HAL库驱动NB-IoT模块BC26通信详 解

摘要:本文详细介绍了基于STM32F103C8T6单片机和移远BC26 NB-IoT模块的物联网开发方案。通过HAL库实现设备与阿里云IoT平台的通信,内容包括硬件连接(UART串口通信)、软件环境搭建(STM32CubeMX配置)、核心AT指令解析、网络附着流程,以及完整的驱动代码实现。重点展示了NB-IoT模块初始化、阿里云MQTT连接认证和数据上报流程,并提供了低功耗优化方案。该方案适用于智能表计、环境监测等低功耗广域网应用场景,具有实际工程参考价值。

2025-07-11 16:20:24 1248 1

原创 STM32F103C8T6基于HAL库驱动SHT20温湿度传感器详解

在嵌入式开发中,温湿度检测是一个非常常见的需求。SHT20作为一款高精度、低功耗的数字温湿度传感器,广泛应用于智能家居、气象监测、工业控制等领域。本文将基于单片机和HAL库,详细讲解SHT20的驱动实现,从硬件连接到软件编写,力求做到最细致的讲解,让初学者也能轻松上手。

2025-07-11 09:03:39 874

原创 STM32F103C8T6驱动无源蜂鸣器详解:从硬件设计到音乐播放

本文详细介绍了STM32驱动无源蜂鸣器的硬件设计与软件实现。硬件方面采用三极管放大电路(S8050),通过1kΩ限流电阻和10kΩ下拉电阻确保可靠驱动;软件方面使用STM32定时器输出PWM方波,重点讲解了频率计算公式(72MHz/[(PSC+1)×(ARR+1)])和标准库初始化代码。文章还提供了播放音乐的实际案例,包括音符频率定义、乐谱数据结构和播放函数实现,并总结了常见问题排查方法。这种方案可实现从简单提示音到复杂音乐的播放功能,为嵌入式系统增加音频交互能力。

2025-07-10 22:08:12 1769 4

原创 STM32F103C8T6单片机内部执行原理及启动流程详解

本文深度解析STM32F103C8T6从硬件复位到main()函数的全流程,涵盖Cortex-M3内核架构、哈佛总线机制、启动文件汇编代码逐行解析,以及中断向量表重映射、72MHz时钟树配置等实战技巧,附调试排错指南,助你彻底掌握单片机底层运行原理。

2025-07-10 21:47:38 2118

原创 SPI通信+Flash

让你一文了解SPI,并且能够通过SPI使用Flash。

2025-03-31 15:44:42 466

原创 IIC通信+AT24C02

让你一文了解什么是----IIC,并且能够通过IIC使用AT24C02。

2025-03-31 15:43:32 971

原创 Linux/C高级(精讲)----shell结构语句、shell数组

Linux/C高级----shell结构语句、shell数组,一文带你了解shell结构语句、shell数组的使用

2025-02-06 22:09:08 742

原创 Linux/C高级(精讲)----进程、文件、shell

Linux/C高级----进程、文件、shell让你了解关于进程的那些事

2025-01-25 19:00:00 1677

原创 Linux/C高级(精讲)----Linux命令、特殊字符、网络配置

Linux/C高级----Linux命令、特殊字符、网络配置让你从此以后掌握Linux的各种用法

2025-01-25 10:00:00 1650

原创 数据结构(精讲)----树(应用篇)

数据结构(精讲)----树让你一文了解关于树的所有知识点并掌握应用技巧

2025-01-24 14:27:33 1227

原创 数据结构(精讲)----队列 queue(应用篇)

数据结构(精讲)----队列让你一文了解并掌握关于队列的所有知识点

2025-01-24 14:25:47 504

原创 数据结构(精讲)----栈 stack

数据结构----栈让你一文了解栈的各种操作

2025-01-22 19:00:00 404

原创 数据结构(精讲)----链表Linklist----应用篇

数据结构----链表(详解)让你一文了解链表的各种操作

2025-01-22 10:00:00 1459

原创 IO进程----进程间通信IPC

IO进程----进程间通信的方式(详解)让你了解并掌握所有的进程间通信的方式。

2025-01-21 10:59:55 932

原创 数据结构(精讲)----应用篇

数据结构(精讲)----应用篇:带你认识什么是数据结构,为什么要学习数据结构,学习数据结构对自己的编程以及逻辑思维有什么帮助

2025-01-21 10:59:31 1101

原创 IO进程----同步、互斥、条件变量

IO进程----同步、互斥、条件变量(精讲)一文看懂关于同步、互斥、条件变量的相关知识点,让你的学习不在迷茫

2025-01-20 13:21:23 1272

原创 数据结构(精讲)----绪论

数据结构----绪论让你初步了解有关数据结构的基本知识点,后续章节会持续更新数据结构相关知识点,,例如线性表、列表、栈、队列……希望能为您的学习和生活带来帮助!如有需要,可关注作者,方便查看后续更新内容。

2025-01-20 13:17:04 1065

原创 IO进程----线程

IO进程----线程详解(超详细)

2025-01-19 13:28:25 970

原创 IO进程----进程

IO进程----进程详解,一文让你看懂关于进程的那些事!!

2025-01-19 13:21:40 1275

原创 库----Lib

IO进程----一文理解静态库与动态库

2025-01-18 12:14:15 806

原创 文件IO与目录操作

文件IO与目录操作----精讲文件IO与目录操作。让你更快更深入的理解文件IO与目录操作

2025-01-18 12:07:40 944

原创 IO进程----标准IO

IO进程----一文搞懂标准IO

2025-01-14 10:13:11 728

原创 第六章 网络编程

Linux----一文掌握网络编程

2024-11-24 17:54:06 1291

文件IO:又称系统IO,是系统调用,是操作系统提供的接口函数 用于对文件进行读写操作

c语言文件读写操作代码 文件IO,又称系统IO,是系统调用,是操作系统提供的接口函数。posix中定义的一组用于输入输出的函数。 文件IO特点: 1. 没有缓冲机制,每次都会引起系统调用 2. 围绕文件描述符进行操作,非负整数(>=0),依次分配 3. 文件IO默认打开三个文件描述符,分别是0(标准输入)、1(标准输出)和2(标准错误) 4. 操作除了目录d以外类型的文件b c - l s p 5. 可移植性相对较差 对文件IO的操作: 打开文件:open 关闭文件:close 读写操作:read和write 定位操作:lseek 打开三个文件描述符分别是:3 4 5 关闭4以后,重新打开这个文件,描述符是几? 答: 还是4 一个进程的文件描述符最大到几?最多能打开多少个文件描述符?最多能打开多少个文件? 一个进程的文件描述符最大到1023 (0-1023) 最多能打开1024个文件描述符 最多能打开1021(3-1024)的文件。 资源包含两个代码:1.文件IO实现cp功能。cp 源文件 新文件名 2. 实现 head -n 文件名 命令的功能

2024-09-24

空空如也

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

TA关注的人

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