
嵌入式硬件篇
文章平均质量分 90
Ronin-Lotus
这个作者很懒,什么都没留下…
展开
-
嵌入式硬件篇---ESP32串口篇
本文详细介绍了乐鑫 ESP32-S3-DevKitC-1 开发板的串口功能。ESP32-S3 芯片集成了三个 UART 控制器(UART0/1/2),支持高达 5 Mbps 的波特率、引脚灵活重映射及自动流量控制等增强功能。开发板通过板载 USB 转串口芯片(如 CP2102N 或 FT232RL)提供 USB 转 UART0 功能,方便程序下载和调试。用户可通过排针访问 UART1 和 UART2 引脚,实现多设备通信。原创 2025-05-20 03:18:04 · 743 阅读 · 0 评论 -
嵌入式硬件篇---SGP30 气体传感器
SGP30气体传感器是由瑞士Sensirion公司开发的一款高精度、低功耗的气体传感器,主要用于监测空气中的总挥发性有机化合物(TVOC)和等效二氧化碳(eCO2)浓度。该传感器采用金属氧化物传感技术,通过加热金属氧化物表面并检测电导率变化来测量气体浓度,具备自校准功能以提升长期稳定性。SGP30的检测范围广泛,TVOC为0-1000 ppb,eCO2为400-32768 ppm,适用于智能家居、空气质量监测、汽车座舱及商业建筑等多种场景。原创 2025-05-20 02:53:44 · 794 阅读 · 0 评论 -
嵌入式硬件篇---无线通信模块
本文详细对比了四种常见的无线通信模块(蓝牙HC-05、WiFi ESP8266、2.4G射频NRF24L01、LoRa SX1278)的特性、优缺点及适用场景,并提供了基于STM32F103RCT6的实例代码。蓝牙模块适合手机外设和短距离控制,WiFi模块适合物联网和互联网接入,2.4G射频模块适合低延迟通信,LoRa模块则适用于超远距离和低功耗场景。文章还给出了调试技巧和选型建议,帮助开发者根据实际需求选择合适的无线方案。原创 2025-05-11 10:24:56 · 1393 阅读 · 1 评论 -
嵌入式硬件篇---UART
UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通信协议,广泛应用于嵌入式设备与传感器、蓝牙模块、GPS等外设的通信。文章详细解析了UART协议的物理层特性、数据帧格式及波特率计算,并提供了在STM32F103RCT6上的完整代码实现。通过CubeMX配置和HAL库代码,展示了UART的初始化、数据发送与接收(包括阻塞模式、中断模式和DMA传输),以及自定义协议设计的方法。原创 2025-05-11 10:08:09 · 913 阅读 · 0 评论 -
嵌入式硬件篇---CAN
本文详细介绍了CAN协议的基础知识及其在STM32F103RCT6微控制器上的实现。CAN(Controller Area Network)是一种高可靠性、多主机的串行通信协议,广泛应用于汽车电子和工业控制等领域。文章首先阐述了CAN协议的物理层特性、帧类型及数据帧格式,接着详细讲解了STM32F103RCT6的CAN硬件配置,包括引脚连接和CubeMX配置。原创 2025-05-11 09:38:02 · 2309 阅读 · 0 评论 -
嵌入式硬件篇---SPI
SPI(Serial Peripheral Interface)是一种高速、全双工的同步串行通信协议,常用于微控制器与外设(如Flash、传感器、显示屏)的连接。SPI协议通过四线制(SCK、MOSI、MISO、NSS)或三线制(半双工模式)进行通信,支持主从模式和多种时钟模式(由CPOL和CPHA决定)。典型的SPI通信流程包括主机拉低NSS、产生SCK时钟并通过MOSI发送数据,同时从机通过MISO返回数据,通信结束后拉高NSS。原创 2025-05-11 09:14:53 · 924 阅读 · 0 评论 -
嵌入式硬件篇---IIC
I²C(Inter-Integrated Circuit)是一种同步、半双工的串行通信协议,广泛用于连接微控制器与传感器、EEPROM等低速外设。本文详细介绍了I²C协议的物理层特性、通信流程及典型通信序列,并提供了在STM32F103RCT6上的硬件配置和HAL库代码实现。文章还探讨了软件模拟I²C的方法,通过GPIO模拟时序实现通信。此外,总结了I²C通信中常见的问题及调试技巧,如从机地址错误、上拉电阻未接、时序问题等,并提供了使用逻辑分析仪抓取波形的建议。原创 2025-05-11 08:56:23 · 1268 阅读 · 0 评论 -
嵌入式硬件篇---陀螺仪|PID
本文详细介绍了如何在STM32F103RCT6微控制器上使用MPU6050陀螺仪结合PID算法实现麦克纳姆轮小车的车身稳定控制。硬件部分包括主控芯片、陀螺仪模块、电机驱动和电源等组件的连接与配置。软件实现步骤涵盖了MPU6050的初始化与数据读取、姿态解算(互补滤波)、PID控制器设计以及麦克纳姆轮的协同控制。此外,文章还提供了关键优化与调试技巧,如传感器校准、PID参数整定和动态稳定性增强。扩展功能部分讨论了遥控控制叠加和多传感器融合的实现。原创 2025-05-11 08:34:56 · 1680 阅读 · 0 评论 -
嵌入式硬件篇---TOF|PID
本文详细介绍了如何在STM32F103RCT6微控制器上使用ToF(飞行时间)模块(如VL53L0X、TFmini)结合PID算法实现高精度的距离控制,适用于自动跟随、避障及工业定位等场景。文章首先列出了所需的硬件组件,包括主控芯片、ToF模块、电机、舵机及相关驱动电路,并提供了硬件连接示意图。接着,详细说明了ToF模块的初始化与数据读取方法,分别针对VL53L0X和TFmini给出了代码示例。随后,介绍了PID算法的实现,包括结构体定义、计算函数及抗积分饱和处理。原创 2025-05-11 07:58:57 · 1204 阅读 · 0 评论 -
嵌入式硬件篇---超声波|PID
本文介绍了如何在STM32F103RCT6微控制器上使用超声波传感器(如HC-SR04)结合PID算法实现稳定距离控制。文章详细阐述了硬件准备、连接方式、超声波测距原理以及代码实现(基于HAL库),包括定时器初始化、距离计算和PID控制器的实现。此外,还介绍了如何通过PID输出来控制电机或舵机,并提供了主循环逻辑和PID参数整定技巧。文章最后指出了实际应用中可能遇到的问题(如超声波噪声、死区处理和动态目标)及其优化方法,为读者提供了完整的实现方案。原创 2025-05-11 07:45:46 · 1015 阅读 · 0 评论 -
嵌入式硬件篇---麦克纳姆轮(简单运动实现)
麦克纳姆轮是一种全向轮,通过轮毂周围呈45°排列的辊子实现多方向运动,使机器人能够在平面内进行前后移动、左右平移、斜向移动及原地旋转等复杂运动。通常采用四轮布局,分为X型和O型两种对称排列方式。通过控制四个轮子的转速和方向组合,可以实现不同的运动模式,如前进、后退、平移、旋转等。麦克纳姆轮的运动可通过速度矢量合成描述,每个轮子的速度分解为前进分量和横向分量。实际应用中需注意轮子同步、地面条件、控制算法和机械损耗等问题。麦克纳姆轮因其高机动性,广泛应用于仓储机器人、全向移动底盘等场景。原创 2025-05-10 23:06:51 · 1634 阅读 · 0 评论 -
嵌入式硬件篇---STM32 系列单片机型号命名规则
STMicroelectronics 的 STM32 系列单片机型号命名遵循一套系统化的规则,通过型号中的字母和数字可以快速识别芯片的关键参数(如性能、封装、存储容量等)。以下以 STM32F103C8T6 和 STM32F103RCT6 为例,详细解析其命名规则:一、STM32 型号命名规则STM32 的完整型号通常由以下部分组成:各字段含义如下:字段 说明STM32 系列名,表示基于 ARM Cortex-M 内核的 32 位微控制器。原创 2025-05-03 23:54:14 · 2564 阅读 · 0 评论 -
嵌入式硬件篇---STM32F103C8T6&STM32F103RCT6
STM32F103C8T6 和 STM32F103RC6 同属STM32F103 系列,基于ARM Cortex-M3 内核,但在资源、封装和外设上存在差异。// 对于 C8T6// 对于 RC6兼容性:基础功能代码(如 GPIO、USART)可无缝移植,但需注意外设和引脚差异。原创 2025-05-03 23:52:08 · 1984 阅读 · 0 评论 -
程序代码篇---ESP32 Camera Server
本文简单介绍了ESP32 Camera Server代码。这段代码实现了一个基于ESP32的摄像头服务器,支持视频流传输、图像捕获、人脸检测与识别等功能。1.摄像头初始化与配置2.HTTP服务器搭建3.实时视频流传输4.静态图像捕获5.人脸检测与识别6.摄像头参数控制7.LED闪光灯控制。原创 2025-04-27 14:13:01 · 1115 阅读 · 0 评论 -
【KWDB 创作者计划】_嵌入式硬件篇---寄存器与存储器&截断与溢出
本文简单介绍了寄存器和存储器的区别以及截断与溢出。在计算机中,截断(Truncation)和溢出(Overflow)都是由于数值存储空间有限而导致的数据精度或范围问题,但它们的产生原因和影响有所不同。位置:位于CPU内部,是CPU核心的一部分。寄存器是CPU的“工作台”,速度快但空间有限,直接支撑计算。存储器是“仓库”,容量大但速度慢,用于存储大量信息。现代计算机通过存储层次结构平衡速度与容量,寄存器是这一链条的顶端。当数据超出目标存储空间的位数限制时,直接丢弃高位或低位部分,导致。原创 2025-04-24 12:41:53 · 1135 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---PlatformIO
本文简单介绍了PlatformIO的使用与开发流程,并以PlatformIO开发ESP32-S3为例进行示例介绍。原创 2025-04-23 21:52:53 · 907 阅读 · 0 评论 -
【KWDB 创作者计划】_嵌入式硬件篇---数字电子器件
本文简单介绍了,型号(如 74LS00)的各个部分通常包含的信息。74/54 → 温度等级(商用/军用)LS/HC/HCT → 逻辑家族(TTL/CMOS/BiCMOS)00/04/08 → 逻辑功能(与非门/反相器/与门等)N/D/PW → 封装类型(DIP/SOIC/TSSOP)这样,通过型号就能快速判断芯片的性能、电压、速度、封装等信息,方便选型和使用。原创 2025-04-23 20:13:45 · 1248 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---ESP32-S3&Arduino
ESP32-S3是乐鑫(Espressif)推出的高性能Wi-Fi/蓝牙双模物联网芯片,相比经典ESP32增加了USB OTG、更强大的AI加速能力和更多GPIO。本指南将详细介绍如何利用Arduino IDE进行ESP32-S3开发,涵盖环境搭建、编程技巧和典型应用案例。ESP32-S3在Arduino环境下的开发流程与经典ESP32类似,但充分利用其新增特性(如USB OTG、AI加速选择正确的开发板配置合理管理双核和内存资源使用专用库发挥硬件性能建议从基础外设控制开始,逐步尝试高级功能。原创 2025-04-20 19:51:14 · 1049 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---Arduino
Arduino 是一个开源的电子原型平台,以其易用性、灵活性和丰富的生态系统著称,广泛应用于教育、创客项目、工业控制等领域。Arduino 通过硬件抽象和开源生态降低了嵌入式开发的门槛,适合快速原型开发。尽管性能有限,但其灵活性和社区支持使其成为创客、教育和小型项目的首选工具。对于更复杂的应用,可以过渡到或其他专业平台。原创 2025-04-20 19:39:05 · 514 阅读 · 0 评论 -
【KWDB 创作者计划】_深度学习篇---松科AI加速棒
松科 TPU是一款自主的、高性能的、通用深度学习加速棒。同时支持X86 平台、ARM平台、MIPS 平台、Loong Arch 平台等主流平台的运行。内置CNN 网络加速引擎,可以实现高性能、低功耗的 CNN 网络模型的加速。松科 TPU 架构设计先进,可以高效完成多路动态视频流的人脸检测、跟踪、特征提取和识别,高效支持墨镜、口罩、性别、年龄等属性检测。提供强大的可编程运算能力,满足CNN 算法实时性处理的运算要求。原创 2025-04-17 22:17:37 · 833 阅读 · 0 评论 -
嵌入式硬件篇---单片机周期
在单片机中,时序控制是其执行指令和协调外设的核心基础。时钟周期(Clock Cycle)定义:时钟周期是单片机的最小时间单位,由外部晶振或内部振荡器产生的时钟信号决定。每个时钟周期对应一个时钟脉冲的上升沿到下一个上升沿(或下降沿)的时间。例如,12MHz 晶振的时钟周期为83.33ns。作用:所有内部操作(如寄存器读写、ALU运算)均以时钟周期为基准同步进行。机器周期(Machine Cycle)定义:机器周期是单片机完成一个基本操作所需的时间,通常由多个时钟周期组成。原创 2025-04-12 23:54:34 · 2045 阅读 · 1 评论 -
嵌入式硬件篇---加法&减法&积分&微分器
在模拟电子技术中,加法器、减法器、积分器和微分器是基本的运算电路,通常基于运算放大器(运放)实现。加法器(Summing Amplifier)结构反相加法器:多个输入信号通过独立电阻连接到运放的反相输入端,反馈电阻连接输出端与反相端。同相加法器:输入信号通过电阻连接到同相输入端,但设计复杂,较少使用。特点反相输出:结果带负号,可通过后续反相电路修正。虚地特性:反相端为虚地,各输入信号互不影响。应用信号混合(如音频混音)、加权求和(如传感器信号融合)。减法器(差分放大器)结构。原创 2025-04-12 23:47:05 · 659 阅读 · 0 评论 -
蓝桥杯篇---客观题
本文简单介绍了蓝桥杯中客观题各个部分的知识点。原创 2025-04-11 23:11:10 · 589 阅读 · 0 评论 -
嵌入式硬件篇---Uart和Zigbee
本文简单介绍了Uart和Zigbee的区别以及各自适应的场合。原创 2025-04-09 23:44:27 · 829 阅读 · 0 评论 -
嵌入式硬件篇---TOF&陀螺仪&SPI液晶屏
在STM32平台上使用TOF传感器陀螺仪和SPI液晶屏需要结合硬件接口协议和嵌入式编程。原创 2025-04-06 07:15:07 · 1300 阅读 · 0 评论 -
程序代码篇---Arm汇编语言
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。原创 2025-04-01 06:19:00 · 347 阅读 · 0 评论 -
嵌入式硬件篇---JSON通信以及解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在单片机之间、上下位机之间的通信中被广泛应用。如果要解析自定义的数据类型,一般需要定义特定的解析函数。例如,解析一个自定义格式的日期字符串。else:以上就是 Python 中各种常见数据类型的解析过程,不同的数据类型需要采用不同的解析方法。原创 2025-03-31 02:35:30 · 1684 阅读 · 0 评论 -
嵌入式硬件篇---USB&UART串口
本文简单介绍了UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发传输器,是一种常用的串行通信接口。USB(通用串行总线)和串口(如 UART)是两种不同的通信接口,它们在通信原理、特点和应用场景等方面存在差异,但可以通过 USB 转串口芯片实现二者之间的通信。原创 2025-03-31 01:46:32 · 1244 阅读 · 0 评论 -
嵌入式硬件篇---嘉立创PCB绘制
本文介绍了嘉立创PCB绘制的过程,原理图绘制的原理&注意事项、封装选取的原理&注意事项、PCB走线原理&注意事项。前期准备:明确设计需求,确定电路板的功能、尺寸、形状、层数等基本参数,准备好所需的元件库和封装库。原创 2025-03-29 02:20:08 · 2785 阅读 · 0 评论 -
嵌入式硬件篇---WIFI模块
本文简单的介绍了WIFI模块的原理以及应用。原创 2025-03-20 16:10:51 · 3620 阅读 · 0 评论 -
嵌入式硬件篇---蓝牙模块
本文简单介绍了蓝牙技术。原创 2025-03-20 15:50:28 · 1357 阅读 · 0 评论 -
蓝桥杯篇---按键长按与双击
本文简单介绍了一段代码,该代码是基于单片机的按键检测程序,新增了长按、短按、双击、连击等功能,并采用状态机设计来适配原有的矩阵键盘扫描逻辑。// 新增按键事件类型定义01// 短按/单击2// 长按3// 双击4// 连击(如3次)// 时间阈值配置(单位:ms,需适配定时器频率)20// 消抖时间1000// 长按判定时间300// 双击间隔500// 连击间隔// 全局按键状态变量// 当前键值// 上一次键值// 按下瞬间// 释放瞬间。原创 2025-03-19 22:44:55 · 1195 阅读 · 0 评论 -
嵌入式硬件篇---Keil51中的关键字
本文简单介绍了Kiel51单片机中的各种关键字的作用和用途。关键字 存储区域 地址范围 速度 典型用途code ROM 0x0000~0xFFFF 慢 常量、查表数据data 内部RAM 0x00~0x7F 最快 高频访问变量idata 内部RAM 0x00~0xFF 快 中等规模变量xdata 外部RAM 0x0000~0xFFFF 慢 大型数组、缓冲区pdata 外部RAM 分页访问 中等 分页数据存储volatile - - - 防止编译器优化。原创 2025-03-19 22:21:30 · 919 阅读 · 0 评论 -
嵌入式硬件篇---龙芯UART通信
本文简单介绍了龙芯中的uart通信以及使用方法。原创 2025-03-18 10:55:35 · 926 阅读 · 0 评论 -
嵌入式硬件篇---PWM输出通道&定时器
本文简单介绍了PWM定时器生成与通道输出的关系。PWM(脉宽调制)通过周期性的高低电平切换产生可变占空比的信号,广泛应用于电机控制、LED调光等领域。原创 2025-03-18 10:32:40 · 1141 阅读 · 0 评论 -
嵌入式硬件篇---龙芯PWM生成
本文简单介绍了龙芯2k1000中的PWM生成。功能:完整控制PWM的初始化、参数配置和输出管理。原创 2025-03-17 13:09:15 · 906 阅读 · 0 评论 -
嵌入式硬件篇---龙芯GPIO控制
本文简单介绍了龙芯2k1000中的GPIO控制。适用场景:简单GPIO控制(如LED、继电器)。原创 2025-03-17 12:46:26 · 1671 阅读 · 0 评论 -
程序代码篇---循双边线
本文简单介绍了循双边线的方法以及python\C++的实现。原创 2025-03-15 09:15:15 · 1014 阅读 · 0 评论 -
程序代码篇---循中心线
本文简单介绍了循中心线的方法以及python\C++的实现。原创 2025-03-15 08:53:46 · 916 阅读 · 0 评论 -
程序代码篇---STM舵机控制
本次代码实现了基于STM32的舵机控制功能,主要包括舵机的GPIO初始化、PWM信号生成、舵机角度设置、停止运动以及偏差设置等功能。下面我将逐部分详细解释这段代码。这段代码实现了基于STM32的舵机控制功能,通过TIM7定时器生成PWM信号,控制舵机的角度和运动。代码结构清晰,功能模块化,便于维护和扩展。原创 2025-03-12 09:55:21 · 1281 阅读 · 0 评论