- 博客(57)
- 收藏
- 关注
原创 PCB设计中线宽、线距与过孔的基本概念
很多初学者把 PCB 设计理解为“把原理图里的线连起来”,线宽随手画 0.25mm,过孔随手放,打样回来大电流的地方烧了、高压的地方短路了,还查不出原因。其实线宽、线距、过孔是 PCB 设计的三个基本量,每一个背后都是实打实的电气、热学和工艺约束。本篇把这三个概念讲透:它们由什么决定、怎么查、怎么落地到工具里,以及最常见的踩坑点。
2026-10-26 09:15:31
427
原创 MQTT的QoS0、QoS1、QoS2有什么区别?
MQTT 是物联网最常用的协议之一。很多人对它的印象是“轻量级的发布订阅”,但真正把设备做稳定的团队,对 QoS 三个等级都有刻骨铭心的理解:消息丢了、重复了、恰好一次到底怎么保证,都是 QoS 的设计问题。本篇从原理出发,讲清三种 QoS 的语义、报文交互与适用场景,并用 mosquitto + paho-mqtt 做一个能亲眼看到“重复消息”的实操
2026-10-26 09:12:19
127
原创 DMA为什么能降低CPU占用率?STM32DMA工作原理详解
『用 DMA 可以降低 CPU 占用率』几乎成了口头禅,但 DMA 又不是协处理器,它凭什么让 CPU 变闲?本文先做一笔『周期账』量化 CPU 搬运的真实成本,再从总线主设备、总线矩阵仲裁的角度讲清 DMA 的硬件原理,然后给出 STM32 上串口+DMA 收不定长包、ADC+DMA 连续采样两个完整实操案例,最后总结 8 个最常见的 DMA 翻车现场。
2026-09-28 10:18:47
345
原创 Temperature、Top-K、Top-P有什么区别?大模型生成参数一次讲透
temperature=0.7、top_k=50、top_p=0.9——这串参数几乎出现在每个大模型 API 里,但多数人只会抄配置。本文从 softmax 的数学出发,讲清三个参数各自『动』的是分布的哪一部分、为什么顺序不能乱、以及如何组合使用,附 70 行可运行的 NumPy 采样器、transformers 实战代码和 7 个高频 Bug。
2026-09-23 14:08:29
442
原创 ARM处理器为什么需要不同工作模式?异常与中断机制基础解析
很多初学 STM32 或 Linux 内核的同学都会背诵「ARM 有 7 种工作模式」,却很少有人认真想过:为什么一颗 CPU 要给自己设计这么多『人格』?本文从『保护』与『效率』两个动机出发,把 ARMv7-A 的模式体系、异常/中断的硬件响应流程、Cortex-M 的 NVIC 机制一次讲清楚,并附上 STM32 实操代码与 6 个高频 Bug 的排查方法。
2026-09-23 13:50:46
248
原创 7、大模型(LLMs)基础面试题
主流开源模型分prefix Decoder、causal Decoder、Encoder-Decoder三类,区别在于注意力掩码。Decoder-only因零样本能力强、训练高效成主流。LLM基于最大似然预测,涌现能力源于任务指标不平滑及子任务叠加。其优点是利用无标注数据、生成内容及涌现能力;缺点是资源消耗大、存在数据安全与可解释性挑战
2026-09-04 16:56:44
17
原创 5、YOLO相关面试题
内容是关于YOLO的多个问题与解答,涵盖原理、损失函数、优缺点、版本改进等。摘要应概括核心要点。注意字数。YOLO将检测视为回归问题,单次前向传播预测边界框和类别,速度快于R-CNN系列。损失函数包含坐标、置信度和类别三部分。优点是实时性强,缺点是小目标检测和定位精度不足。YOLOv3引入多尺度预测和Darknet-53;YOLOv4用CSPDarknet53和CIoU;YOLOv5更注重工程化;YOLOv8采用Anchor-Free;YOLO11改进特征提取并减少参数
2026-09-04 14:10:04
44
原创 FreeRTOS知识概念面试题
该文章只针对面试时面试官提问如何回答的更全更好,看此文章没有讲解太多太细节的知识点。如果知识点本身不会,背诵此文章可能能让你找到一份工作,但不能让你持续的干下去。还是需要自身精通对应知识点。 该文章适合有学习过STM32和FreeRTOS的朋友阅读,主要是针对本科应届生。收录了十几道近几年非常经典的进程线程相关面试题。 配合阅读Linux面试题专栏文章更容易帮您找到一份嵌入式开发工作。
2026-09-04 13:37:55
349
原创 4、卷积神经网络、视觉经典神经网络、循环神经网络面试题
该文章只针对面试时面试官提问如何回答的更全更好,看此文章没有讲解太多太细节的知识点。如果知识点本身不会,背诵此文章可能能让你找到一份工作,但不能让你持续的干下去。还是需要自身精通对应知识点。该文章适合有学习过卷积神经网络和视觉经典神经网络的朋友阅读,主要是针对本科应届生。收录了12道近几年非常经典的卷积神经网络和视觉经典神经网络面试题。如果您觉得这篇文章对您有帮助,想深入学习人工智能相关技术可以私信我,谢谢
2026-09-02 17:25:06
74
原创 3、深度学习与全连接面试题
该文章只针对面试时面试官提问如何回答的更全更好,看此文章没有讲解太多太细节的知识点。如果知识点本身不会,背诵此文章可能能让你找到一份工作,但不能让你持续的干下去。还是需要自身精通对应知识点。该文章适合有学习过深度学习与全连接的朋友阅读,主要是针对本科应届生。收录了12道近几年非常经典的深度学习与全连接面试题。如果您觉得这篇文章对您有帮助,想深入学习人工智能相关技术可以私信我,谢谢
2026-09-01 15:04:22
33
原创 Python 栈的实现:从基础到进阶
栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构,就像一摞盘子——你最后放上去的盘子,会最先被拿走。在计算机科学中,栈的应用非常广泛,比如函数调用、表达式求值、括号匹配、撤销操作等。今天,我们就通过一段简洁的 Python 代码,来深入理解栈的实现原理和设计细节。
2026-08-28 15:46:01
337
原创 Linux设备树的作用是什么?【文末附常见面试题及答案】
做嵌入式Linux开发,几乎没人能绕开设备树(Device Tree)。改驱动、调外设、移植板子、配置引脚、修改中断、调整时钟,十有八九都是在改设备树。很多人写了几年设备树代码,只会照抄模板改参数,始终搞不懂一个核心问题:Linux为什么非要用设备树?裸机直接操作寄存器不行吗?没有设备树内核就跑不起来吗?
2026-08-28 14:14:28
1015
原创 准确率、精确率和召回率怎么理解?AI模型评估最通俗硬核解析
AI模型评估的核心从来不是追求数值越高越好,而是根据业务场景选择核心指标,做好精确率与召回率的取舍平衡。看懂这三个指标的底层逻辑,才算真正入门AI模型训练与评估,彻底摆脱只会跑代码、不懂调优的新手困境。
2026-08-26 11:07:12
380
原创 FreeRTOS任务优先级应该怎样设置?嵌入式工程实战最全指南
FreeRTOS任务优先级的设置,从来不是“凭感觉赋值”,而是一套基于实时性、时序依赖、资源调度、工程稳定性的系统工程。新手看数值,大牛看分层、看时序、看调度逻辑。核心精髓可以概括为四句话:高优任务保实时、轻量不独占;低优任务做杂活、延时保轮转;任务分层不扎堆、时序不倒挂;阻塞机制必标配、杜绝饿死与卡死。
2026-08-26 11:01:38
289
原创 数组指针与指针数组有什么区别?嵌入式C语言硬核详解
很多小白只会死记硬背口诀:“指针数组是数组,数组指针是指针”,但完全不懂内存分布差异、寻址逻辑、传参本质、适用场景。在实际项目中:串口协议解析、多维数据存储、字符串批量管理、二维数组传参、外设参数配置、固件字典映射,几乎处处用到这两个语法。更关键的是:这两个知识点是嵌入式笔试、面试、机试的高频必考重难点,也是区分“会写代码”和“懂底层原理”的核心分水岭。本文摒弃空洞概念背诵,完全贴合嵌入式实际开发场景,从定义本质、内存原理、代码实操、经典坑点、编译报错、工程选型、面试考点全方位拆解,带你彻底吃透二者
2026-08-26 10:55:24
454
原创 Python实现双向循环链表
很多同学学习链表时,最怕完整代码看不懂、逻辑串不起来。今天摒弃一次性贴完整源码的方式,从底层节点到完整功能,逐模块拆解思路、分段写代码、分步讲解,手把手带你吃透双向循环链表的核心逻辑,每一段代码都能对应具体功能!
2026-08-25 14:28:30
161
原创 Python实现数据结构单链表
本文详细介绍了如何用Python实现单链表数据结构。主要内容包括:1. 采用面向对象设计,分为Node节点类和LinkList链表类;2. 使用带头节点的单链表结构简化边界处理;3. 实现了完整的链表操作:初始化、判空、长度计算、头插/尾插、指定位置插入、头删/尾删、按值删除、查找访问等;4. 通过@property装饰器保证数据封装性,实现魔法方法支持类列表操作;5. 提供了时间复杂度分析和测试用例。文章重点讲解了各功能的设计思路,强调哨兵节点和双指针维护的优势,适合数据结构初学者系统学习链表实现原理。
2026-08-12 17:52:42
243
原创 为什么 ResNet 能解决深层神经网络退化问题?
本文将摒弃碎片化浅度讲解,从网络退化本质成因、梯度流通原理、残差结构数学逻辑、实战Bug与避坑、核心代码验证、优劣与适用场景全方位拆解,带你彻底吃透ResNet核心内核,弄懂它为何能成为工业界通用骨干网络的底层逻辑。
2026-08-11 13:42:58
489
原创 VGG、GoogLeNet 与 ResNet 的结构特点对比分析【文末附该章节常见面试题】
在卷积神经网络(CNN)的发展历程中,VGG、GoogLeNet、ResNet 是三座具有里程碑意义的经典模型,几乎所有深度学习图像任务(分类、检测、分割、特征提取)的 backbone 设计,都源于这三者的核心思想迭代升级。很多深度学习入门者只会调用模型、跑训练脚本、看准确率指标,但完全不清楚三者为什么这么设计、结构痛点在哪、参数量与算力消耗差异、实战落地适配场景。很多人训练模型时会遇到:网络越深准确率不升反降、训练梯度爆炸/消失、参数量过大推理卡顿、小数据集过拟合、嵌入式端部署延时超标等问题,本质原
2026-08-11 11:26:25
438
原创 从小白到大牛:Linux嵌入式系统开发的完整指南
很多嵌入式入门小白都会陷入一个误区:把Linux嵌入式开发等同于“会敲几句ARM汇编、会用开发板点灯”。入门阶段靠着例程跑通几个简单外设,就以为掌握了核心,可一旦遇到项目裁剪、驱动调试、系统卡顿、性能优化等实际问题,立刻无从下手。本质上,Linux嵌入式开发不是简单的硬件编程,而是一套“硬件适配+系统移植+内核驱动+应用开发”的完整软硬件协同体系。和裸机单片机开发不同,Linux嵌入式依托成熟的操作系统内核,承担了任务调度、内存管理、设备管理、网络协议栈等复杂工作,开发者的核心工作是打通硬件与系统的壁垒。
2026-08-10 18:56:20
432
原创 2、OpenCV 面试题
该文章只针对面试时面试官提问如何回答的更全更好,看此文章没有讲解太多太细节的知识点。如果知识点本身不会,背诵此文章可能能让你找到一份工作,但不能让你持续的干下去。还是需要自身精通对应知识点。该文章适合有学习过OpenCV 和Python的朋友阅读,主要是针对本科应届生。收录了十道近几年非常经典的OpenCV面试题。如果您觉得这篇文章对您有帮助,想深入学习人工智能相关技术可以私信我,谢谢
2026-08-10 17:18:19
93
原创 深度神经网络中,梯度消失和梯度爆炸的根本原因是什么?有哪些解决方法?【文末含面试万能总结】
在深度学习训练过程中,除了过拟合、收敛慢、不收敛等常见问题,梯度消失、梯度爆炸是限制深度网络层数、导致深层网络无法训练的核心底层问题。很多新手在搭建深层CNN、DNN、Transformer网络时会发现:浅层参数更新正常、损失正常下降,而深层网络参数几乎不更新,或是训练几步权重直接NaN、模型彻底崩溃。绝大多数教程只会简单描述“层数太深导致梯度异常”,但没有讲透数学根源、传播机制、激活函数影响、权重初始化诱因。实际上,梯度消失与梯度爆炸本质是同一个数学问题的两种极端表现,均来源于深层网络反向传播中的链式
2026-08-06 09:57:00
400
原创 STM32中断机制详解:按键为什么能立即响应
在STM32嵌入式体系中,程序运行分为两大核心架构:顺序执行的主循环架构与异步触发的中断架构。绝大多数新手开发只停留在“写主循环代码、调用函数”的表层开发,对中断的认知仅停留在“可以快速响应按键”,但完全不了解其内核运行原理、硬件触发机制、优先级嵌套本质。工程开发中诸多疑难问题:按键偶尔丢失、高速运行时按键卡顿、中断卡死、多中断冲突、系统实时性不足,本质都是对Cortex-M内核中断架构、NVIC仲裁机制、外设中断标志锁存原理理解不透彻导致。
2026-08-04 14:37:37
409
原创 PWM输出原理详解:呼吸灯与电机调速的实现方式
本文从 PWM 底层原理、关键参数、定时器硬件运行逻辑入手,结合呼吸灯、直流电机调速两个最经典工程案例,讲清楚实际开发该如何配置、如何避坑,最后附上可直接编译运行的 STM32 示例代码。
2026-08-03 17:26:51
366
原创 Token是什么?大模型为什么按Token计算费用
Token是AI大模型处理文本、统计算力、核算费用的核心最小单元,不是汉字、不是单词,是模型分词后的专属语义片段。中英文分词差异、输入输出算力差异、上下文累积消耗,共同决定了最终的使用费用。大模型选择Token计费,本质不是商业套路,而是贴合模型底层运算逻辑、适配多语言场景、精准量化算力成本的最优方案。对于普通用户和AI开发者而言,吃透Token机制,不仅能看懂计费账单、规避扣费误区,更能合理优化对话逻辑、控制项目成本、高效利用大模型资源,实现性价比最大化。
2026-07-31 11:31:56
613
原创 STM32 启动流程解析:上电后第一条代码是如何执行的
绝大多数 STM32 开发者日常基于标准库、HAL 库开发,业务代码从main()函数开始编写,久而久之形成一个错误认知:单片机上电直接执行main函数。实际上main只是整套上电初始化链路的最终业务入口,芯片从上电上电电压爬升、硬件复位、BOOT 引脚采样,到汇编底层初始化、内存段搬运、时钟配置,中间一整套严谨的固化流程全部执行完毕后,才会跳转到 C 语言主函数。平时遇到的上电不运行、全局变量上电数值随机、IAP 程序跳转死机、偶尔启动异常、中断跳转失效等问题,根源几乎都是对底层启动机制不了解。本
2026-07-31 11:23:54
406
原创 什么是EMC与EMI?嵌入式电路中的电磁兼容基础
很多嵌入式开发者做项目时,只专注功能实现:代码能跑、外设能驱动、板子能上电就算开发完成。但产品一旦进入量产测试、高低温老化、工业现场部署、EMC认证阶段,就会出现各种无解的隐性故障:设备莫名死机、传感器数据跳变、串口通信乱码、电机启停干扰整机、屏幕闪烁、无线模块信号卡顿。这些问题绝大多数不是代码Bug、不是器件损坏,而是电磁兼容设计缺失导致的。在嵌入式硬件领域,EMC是产品从“样板能用”跨越到“量产稳定、合规上市”的核心门槛。很多新手分不清EMC、EMI、EMS三者的关系,误以为电磁兼容是高端高速电
2026-07-30 14:25:32
452
原创 【VIP】PCB设计中的电源完整性与信号完整性基础概念
在嵌入式硬件开发中,多数工程师入门阶段仅关注PCB的“连通性”,保证线路无短路、无开路、器件封装对应,板子能上电、程序能运行就视为设计完成。但在实际调试、高低温测试、量产落地以及复杂电磁环境工况下,设备频繁出现的莫名复位、传感器采样漂移、通信丢包乱码、屏幕花屏、电源纹波超标、EMC测试不通过等疑难问题,90%以上都源于电源完整性与信号完整性设计缺陷。
2026-07-30 11:30:14
732
原创 嵌入式常见通信协议对比:UART、SPI、I2C、CAN 如何选择?
UART、I2C、SPI、CAN 四种协议,没有好坏之分,只有场景适配与否。本文用接地气、工程化的角度,详细拆解四种通信协议的硬件接线、通信原理、协议规则、优缺点、典型用法、避坑点,最后给出清晰的选型逻辑,看完彻底搞懂嵌入式外设通信
2026-07-29 10:09:50
632
原创 深度学习中的损失函数与优化算法基础知识
在深度学习训练流水线中,网络结构负责特征提取,损失函数定义优化目标,优化算法负责参数迭代更新,三者共同构成模型收敛的完整闭环。很多初学者仅停留在调用nn.CrossEntropyLoss()、optim.Adam()的层面,不清楚公式背后的梯度流向、不同损失对异常值 / 样本不均衡的敏感度差异,也不理解 SGD、Adam、RMSprop 内在动量与自适应学习率机制,最终遇到损失不下降、震荡不收敛、过拟合严重、标签不均衡准确率虚高等问题时无从排查
2026-07-28 11:25:27
540
原创 PCB 设计中的电源完整性与信号完整性基础概念
电源完整性和信号完整性,是嵌入式硬件设计从“能用”进阶到“稳定、可量产、抗干扰”的核心分水岭。普通样板测试时,很多PI/SI问题不会暴露,但一旦进入批量生产、高低温测试、复杂电磁环境,布线缺陷会被无限放大,出现批量死机、通信异常、精度失效等问题。记住核心设计逻辑:PI负责稳住硬件基底,SI负责保证数据传输,布局决定上限,布线决定稳定性。吃透这两个基础概念,养成规范的布线习惯,才能设计出真正稳定、抗干扰的工业级嵌入式硬件
2026-07-28 11:00:17
326
原创 计算机是如何“看懂”图像的——图像认知基础原理解析
想要学好计算机视觉、CNN图像模型,不能只会调代码、跑模型,最核心的就是吃透底层认知逻辑:图像是数字、特征是计算、识别是匹配。理解了像素构成、特征分层提取、语义推理的完整链路,就能明白为什么卷积能提特征、池化能稳精度、大数据能提升泛化能力,也能快速定位模型识别不准、误判、漏判的问题根源。这套基础原理,是所有AI视觉项目(人脸识别、自动驾驶、缺陷检测、图像分类)的底层基石,也是从“调包工程师”进阶为“算法开发者”的必备认知。
2026-07-27 11:25:22
389
原创 LVGL 布局系统(Layout)的基本原理与实现方式
LVGL布局系统的本质,是一套自动化、自适应的GUI排版计算引擎。绝对布局满足静态固定界面,Flex布局适配绝大多数一维动态界面,Grid布局解决复杂二维矩阵排版,三者结合可以覆盖所有嵌入式GUI开发场景。掌握布局系统,核心不是记忆API函数,而是理解容器管控、主轴交叉轴、空间权重分配、内容区域计算的底层原理。摆脱手动硬编码坐标的开发模式,是嵌入式GUI从“能用”进阶到“好用、美观、可复用、可量产”的关键标志。本文配套的实战代码可直接作为项目通用模板,适配工业触摸屏、物联网设备、车载界面、智能终端等
2026-07-27 11:13:10
398
Qt人脸识别系统 对接OpenCV + SeetaFace库,包含完整编译流程与源代码,也有编好后的库
2026-07-30
C++命令行实现的双人五子棋游戏,使用UDP网络通信,两个人在局域网内通信,开发环境为Ubuntu系统
2024-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅