Base64 编码详解:原理、Python 实现与应用 1. 什么是 Base64? 1.1 为什么需要 Base64? 在计算机中,数据以二进制形式存储,其中包含大量不可见字符(如控制字符、特殊符号等)。当这些数据在网络上传输时,往往要经过多个路由设备、代理服务器等中间节点。 问题在于: 不同设备对字符的处理方式可能不同 某些协议(如早期的电子邮件协议 SMTP)只支持 7 位 ASCII 文本 不可见字符可能被误解、过滤或损坏 特殊字符(如 \\0、 Python 林峰 2026-04-28 117 热度 0评论
Python复数与指数运算 最近在学 FFT,里头频繁出现复数和复指数项 ,索性把 Python 里处理复数的几个工具梳理一下:内置的 complex 类型、标准库的 cmath 模块,以及 numpy 在数组场景下的覆盖。 前言:complex 类型与 cmath 模块 关于 complex 类型 complex 是 Python 自带的数值类型,从 Python 1.4(1996 年)就已经存在,和 int、float、 Python 林峰 2026-04-20 349 热度 0评论
C语言变量分类、作用域、链接属性与存储期笔记 先看整体 变量总表 写法 / 对象 定义位置 作用域 存储期 链接属性 常见用途 int a;(局部) 函数内 块作用域 自动存储期 无链接 保存函数内部临时数据 static int a;(局部) 函数内 块作用域 静态存储期 无链接 多次调用之间保留值 int a;(全局) 函数外 文件作用域 静态存储期 外部链接 多个函数 / 文件共享数据 static int a;(全局) 函数外 文件作 C语言进阶 林峰 2026-04-14 751 热度 0评论
HC-SR04超声波测距模块:卡尔曼滤波练习 HC-SR04 是一款经典的超声波测距模块,测距范围 2cm ~ 400cm,精度约 3mm。这篇主要不是单纯讲模块怎么用,而是拿它来练一遍卡尔曼滤波,顺便把工作原理、接线方法、MicroPython 实现和中值滤波配合思路一起记下来。 ℹ️ 先记个结论:HC-SR04 的本质就是发射超声波,测回波时间,再换算距离。 一、工作原理 HC-SR04 模块通过发射超声波并接收回波来测量目标距离,工作频 嵌入式开发 林峰 2026-04-13 719 热度 0评论
Arduino 与 MicroPython 基础入门:PWM、GPIO、ADC、串口、Socket 与计时基础 这篇笔记整理了 Arduino UNO 与 ESP32-C3 MicroPython 开发里最常用的基础知识,包括 PWM、时间函数、GPIO、ADC、多线程、串口、Socket 以及 Arduino 常见数值类型。内容尽量保持“短、准、方便查阅”,适合作为入门和速查参考。 一、PWM 输出基础: Arduino analogWrite() 与 MicroPython PWM PWM(脉宽调制)通 嵌入式开发 林峰 2026-04-09 668 热度 0评论
通信协议篇四:CAN 总线原理与通信机制基础详解 CAN(Controller Area Network,控制器局域网)是 Bosch 在 1980 年代提出的一种高可靠串行总线。它采用差分传输,支持多主通信,通过报文 ID 完成仲裁,并带有较完整的错误检测机制。 ℹ️ 本文范围:本文主要介绍经典 CAN。文中会顺带提到 CAN FD 和 CAN 2.0A / 2.0B,但重点仍然是基础概念、帧格式、仲裁和同步机制。 1. 特点与应用背景 CAN 电子技术 林峰 2026-04-06 1837 热度 0评论
通信协议篇三:SPI 通信原理详解之时钟模式、时序与W25Q32示例 SPI 是嵌入式开发里最常见的高速串行总线之一。相比 I2C 和 UART,SPI 结构更直接、速度更高,也更适合和 Flash、ADC、DAC、显示屏等板级外设通信。本文从底层原理、时钟模式、通信时序到 W25Q32 读 ID 实验,系统讲清 SPI 到底是怎么工作的。 ℹ️ 一句话先讲清楚:SPI(Serial Peripheral Interface,串行外设接口)是最早由摩托罗拉(Moto 嵌入式开发 林峰 2026-04-06 2110 热度 3评论
C语言循环队列 循环队列(Circular Queue / Ring Buffer) 1. 定义 循环队列是基于定长数组实现的队列。其核心思想是将数组视为首尾相接的环形空间,通过让 front / rear 用 % N 循环移动复用存储单元。 在嵌入式系统中,循环队列常称为 Ring Buffer(环形缓冲区),常用于:UART 接收缓冲、按键事件、日志缓存。。 2. 为什么需要循环队列 顺序队列若采用数组实现, C语言进阶 林峰 2026-04-05 525 热度 0评论
C语言位运算笔记 C 语言位运算是嵌入式开发的基础能力。对于 STM32 来说,GPIO、UART、SPI、定时器等外设最终都是通过寄存器中的 bit 位来控制的。掌握位运算,才能真正理解 HAL 库背后的底层逻辑,并具备直接操作寄存器的能力。 💡 核心结论 嵌入式里最常见的 4 个动作就是:置位、清位、翻转、读位。 六大位运算符速览 运算符 名称 示例 说明 & 按位与 a & b 同 1 为 1 C语言进阶 林峰 2026-04-04 600 热度 0评论
示波器关键指标之采样率与存储深度 1. 采样率(Sampling Rate,单位:GSa/s / Sa/s) 采样率示波器可以动态调整。 示波器每秒采集多少个电压采样点,相当于相机的「连拍速度」。 这里的 1.00 GSa/s = 每秒采集 10 亿个电压点。 作用:决定你能抓多「快」、多「细节」的信号。 采样率越高,越能还原高频信号的真实波形,不会失真(遵循奈奎斯特采样定理:采样率至少是信号最高频率的 2 倍,工程上用 5-10 电子技术 林峰 2026-04-02 550 热度 0评论