- 博客(31)
- 收藏
- 关注
原创 【STM32】:STM32CubeIDE 的使用
本文介绍了STM32CubeIDE开发环境的基本使用,包括安装配置、项目结构、界面功能和操作要点。主要内容有:1)软件安装路径设置与项目导入方法;2)工作空间、项目、视图等核心概念说明;3)C/C++开发场景的界面布局和编辑器操作技巧;4)CubeMX项目文件组成,包括CMSIS驱动、HAL驱动和用户程序文件;5)项目管理操作如项目清理、刷新和生成HEX文件。文章通过图文结合的方式详细讲解了STM32开发环境的配置和使用流程,适合嵌入式开发者快速上手STM32CubeIDE开发工具。
2025-12-06 14:47:40
1102
原创 【芯片测试】:SmarTest 8 三温和三压测试程序的搭建
本文介绍了三温和三压测试程序的搭建方法。三温测试针对高温(105°C)、低温(-40°C)和常温(25°C)环境,通过创建不同的testprogram文件,设置独立的dsa_path变量来区分温度条件,并生成对应的测试文件和目录。三压测试则通过定义电压系数变量(高压1.05、低压0.95、常压1.0),在spec文件中设置初始值,并在testmethod中根据flow传递的参数动态调整电压参数。两种测试方法都实现了在不同环境条件下的自动化测试配置,确保芯片在各种工作环境中的性能测试准确性。
2025-12-03 21:28:50
996
原创 【STM32】:STM32CubeMX 的使用
本文介绍了STM32CubeMX的安装配置及项目创建流程。首先下载安装STM32CubeMX和JDK,注意安装路径不能含中文。然后设置固件包存储路径并手动安装所需芯片系列(如STM32F4)的固件库。接着详细说明了新建项目的步骤:选择MCU型号、配置引脚功能(GPIO/ADC/定时器等)、设置时钟树(HSE/HSI/PLL等)、进行项目管理(设置项目名称、工具链等)。文章重点讲解了图形化配置界面的使用技巧,包括引脚功能分配、时钟源选择以及代码生成选项设置,为开发者提供了完整的STM32开发环境搭建指南。
2025-11-29 21:01:09
1457
原创 【硬件】:CPU如何被制造出来
本文系统介绍了CPU从设计到生产的全流程。在产业分工方面,半导体行业分为设计(Fabless)、制造(晶圆代工)和封测三大环节。CPU纳米工艺的核心在于栅极沟道宽度控制,直接影响芯片性能。生产流程以高纯度硅为基础,通过熔炼、切割、光刻、离子注入等工艺将硅原料转化为晶圆,再经过多层电路加工、测试、切割和封装形成最终芯片。文章还提炼出芯片制造的三大基本手法:生长、挖掉和掺杂,这些工艺都依赖光刻技术的精准控制。整个生产过程展现了从数字设计到物理实现的复杂转化过程。
2025-10-26 11:41:08
912
原创 【硬件】:认识电流、电压、功率
本文系统介绍了电流、电压和功率的基本概念。电流定义为电荷通过截面的速率,分为平均电流和瞬时电流,单位是安培(A),方向与电子流动方向相反。电压是驱动电荷移动的电动力,分为直流和交流两种类型,通常以最低电位点作为参考零点。功率是能量转换的速率,计算公式为P=VI,单位为瓦特(W),与材料特性无关。文章通过手电筒电路等实例,阐述了这些电学基本量在实际电路中的应用和相互关系。
2025-10-24 22:51:36
898
原创 【芯片测试】:LIN总线
LIN总线是汽车电子中常用的低成本通信总线,通常作为CAN总线的子网。它采用单线传输,速率较低(如19200bps),由1个主节点(指挥官)和最多16个从节点(响应者)组成。通信采用报文帧结构,包含令牌和数据两部分:令牌由主节点发送,含同步字段和标识符;数据部分由指定从节点响应,最多8个数据字节加校验和。物理层采用收发器实现3.3V/5V与9-18V电平转换,通过上拉电阻实现隐性(高电平)和显性(低电平)状态。LIN总线以简单架构满足汽车电子中低速通信需求,是CAN网络的有效补充。
2025-08-31 21:13:42
1260
原创 【C++】:函数
本文总结了C++函数的基本语法和特性,包括:1)函数基本结构;2)参数传递方式(值传递、引用传递、默认参数和变长参数);3)函数重载规则;4)函数嵌套调用;5)递归函数实现;6)内联函数优化。通过代码示例展示了各种函数用法的具体实现,可作为C++函数语法的快速参考指南。
2025-08-27 22:50:31
418
原创 【C++】:控制代码的执行顺序
本文总结了C++基础语法中的程序控制结构,包括顺序结构、条件分支(if-else和switch)、循环结构(for/while/do-while)及其控制语句(break/continue)。详细介绍了逻辑运算符(&&、||、!)的使用规则和优先级,以及三目运算符的简写用法。特别说明了C++中的真假值判断标准:0为false,非0为true,空指针为false。最后展示了while循环在输入验证中的典型应用。这些基础语法是C++编程的核心组成部分,适用于流程控制和逻辑判断等场景。
2025-08-24 20:36:02
338
原创 【C++】:基础
本文是C++基础语法学习笔记,主要包含以下内容:1. main()函数的基本结构和两种命名空间写法;2. 变量定义与赋值方法,包括int、float、char等基本数据类型;3. cin和cout的使用细节,如处理带空格的字符串输入和格式化输出;4. 基本运算符及其优先级规则;5. 数据类型内存占用和sizeof运算符;6. 引用的概念和使用方法;7. 常量的定义和使用,包括const关键字、指向常量的指针、常量指针以及C++11引入的constexpr关键字。文章通过代码示例详细演示了各语法点的具体应用。
2025-08-16 16:48:14
403
原创 【STM32】:串口通信
本文系统介绍了串行通信的基本原理与实现方式。主要内容包括:1)串行与并行通信的传输机制对比;2)异步通信的字符帧结构和同步通信的时钟同步方式;3)单工、半双工和全双工三种通信模式;4)通信速率指标(比特率、波特率)和RS-232接口标准;5)USART结构框图及其发送/接收流程;6)串口与RS232、RS485、USB的电路转换连接方案。通过图文结合的方式,详细阐述了各类通信方式的实现原理、硬件连接和典型应用场景。
2025-07-20 13:39:24
1843
原创 【STM32】:F407 时钟系统
本文详细介绍了STM32F407时钟系统架构,包括复位默认时钟、时钟源切换机制和故障监测功能。系统支持HSI(16MHz RC)和HSE(4-26MHz外部时钟)两种时钟源,通过PLL倍频最高可达168MHz。文章还解析了AHB/APB分层总线架构,以及通过CubeMX配置时钟树的要点,包括PLL锁相环设置、时钟分发路径和各模块频率限制。特别强调了USB必须精确48MHz、VCO频率范围等关键参数,并提供了晶振电路设计参考链接。
2025-07-13 23:17:11
1761
原创 【STM32】:最小系统组成
STM32最小系统设计要点 摘要:STM32单片机最小系统由供电、复位、时钟和调试电路组成。供电方案包括数字电源(1.8-3.6V)、模拟电源(需与数字电源共地)和备用电源(1.65-3.6V)。NRST复位引脚采用低电平有效设计,需配置按键和上拉电阻。时钟电路推荐8MHz高速晶振和32.768kHz低速晶振方案。调试接口优先选择占位小的SWD模式。BOOT引脚通过硬件配置决定启动模式(主闪存/系统存储器/SRAM)。完整的最小系统设计需包含电源滤波、复位保护、精确时钟源等关键电路,确保MCU稳定运行。
2025-07-12 23:41:18
3024
4
原创 【芯片测试】:93K测试机I2C的设置和调试
本文介绍了I2C总线的基本配置、数据传输机制及测试系统设置要点。I2C采用双向两线制(SDA/SCL),通过起始/停止条件控制通信,主设备控制时钟并发送7位地址+读写位,每个字节传输后需应答(ACK)。测试系统配置包括:上拉电阻等效替代(vt=VCC,iol=VCC/R)、时序设置(100/400kbit/s对应10/2.5μs周期)、动态负载模拟及电平判定(VTH=VCC/2.0)。调试时需检查硬件连接、地址/时序配置,必要时使用示波器(需先断开测试机连接)抓取波形分析。
2025-07-08 23:39:17
1740
原创 【STM32】:GPIO 详解
本文详细介绍了GPIO(通用输入输出)的基本结构和工作模式。GPIO内部结构包括保护二极管、上拉/下拉电阻、施密特触发器以及P-MOS/N-MOS管,这些组件共同实现电压保护、信号稳定和电平驱动功能。文章重点解析了GPIO的六种工作模式:输入浮空、输入上拉、输入下拉、模拟功能、开漏/推挽输出以及复用功能,分别阐述了各模式的工作原理和应用场景。其中,施密特触发器的滞回特性可有效抑制噪声干扰,而复用功能模式可将GPIO控制权交由特定外设模块。这些内容为理解GPIO的硬件设计和应用提供了系统性的技术参考。
2025-07-05 20:06:04
1251
原创 【STM32】:I2C驱动编写
I2C总线协议采用两条信号线(SCL时钟线和SDA数据线)实现多设备通信。物理层采用开漏输出结构,需外接上拉电阻,支持多设备共享总线。协议层包含起始/停止信号、数据有效性规则、应答机制和7位地址寻址方式。数据传输分为主机发送、主机接收和复合格式三种模式。驱动实现中,通过GPIO模拟I2C时序,配置SCL和SDA引脚为推挽输出,并定义基本操作宏和延时函数完成通信功能。该协议广泛应用于低速设备间的短距离通信。
2025-07-04 00:07:50
1292
原创 【芯片测试】:均值滤波
本文介绍了周期信号、正弦波特性及傅里叶级数分解方法,重点探讨了均值滤波消除周期性纹波的原理。通过奈奎斯特采样定理说明采样频率与信号恢复的关系,并给出Python实现的移动平均滤波算法。该算法通过窗口滑动平均有效平滑周期性噪声,在处理边界时自动调整窗口大小,确保信号完整性。实验数据表明,当采样满足周期整数倍时,均值滤波可完全消除正弦波纹波,保留直流分量。
2025-06-21 19:50:50
1216
原创 【芯片测试】:trim 修调详解
文章摘要: 本文介绍了芯片制造中的Trim技术,用于校准芯片参数并实现多功能需求。Trim分为OTP(一次性修调)和EEPROM(可擦写修调)两种方式,分别通过熔丝、激光或电信号调整电路参数。文中通过C++代码模拟了Trim算法,包括电压测量、公式法校准及结果验证,展示了如何通过代码增量调整使电压达到目标范围。Trim技术能有效补偿工艺偏差,提升芯片良率和灵活性。
2025-06-14 23:50:14
3909
原创 【汇编语言】:实验环境搭建
本文介绍了在Windows 10/11系统下通过DOSBox运行16位汇编程序的完整安装与配置流程。主要内容包括:1) DOSBox的下载与安装步骤;2) MASM、LINK、DEBUG等汇编工具的配置方法,包括创建专用目录和修改配置文件实现自动挂载;3) 简单的运行测试方法,展示了进入调试环境后查看寄存器状态和指令的基本操作。该方案解决了现代操作系统无法直接运行16位DOS程序的问题,为学习王爽《汇编语言》实验提供了完整的开发环境搭建指南。
2025-06-14 10:06:25
850
原创 【C++】:内存泄漏检测器设计
C++动态内存分配与内存泄漏检测 摘要:本文介绍了C++中的动态内存分配机制,通过new/delete操作实现灵活的内存管理,同时分析了常见内存泄漏场景及其危害。重点阐述了一个内存泄漏检测器的设计原理,包含五大核心模块:位置信息捕获、内存分配跟踪、释放跟踪、记录存储和报告生成。该系统通过重载new/delete运算符,结合文件行号跟踪技术,实现了内存分配的实时监控和泄漏检测功能,有效解决了C++程序中内存泄漏的检测难题。
2025-06-02 17:24:34
1066
1
原创 【芯片测试】:hex 文件分析
HEX文件是嵌入式开发中常用的二进制代码存储格式,由Intel公司开发。它采用ASCII文本格式,包含多行记录,每行以冒号开头,格式为":BBAAAATT[DD...][CC]",其中BB是数据字节数,AAAA是地址,TT是记录类型(如00数据记录、01文件结束、04扩展地址等),DD是数据,CC是校验和。HEX文件通过记录类型组合计算实际地址,并采用校验和验证数据完整性。在STM32开发中,HEX文件可用于提取地址和数据信息,进而按照烧录协议写入MCU的Flash存储器。
2025-05-30 00:01:17
2897
原创 【硬件】:UART 、I2C 、SPI
本文介绍了三种常见的通信协议:UART、I2C和SPI。UART是一种异步串行通信协议,采用全双工传输,通过起始位、数据位、校验位和停止位实现数据传输。I2C是双线制串行总线协议,支持主从架构和多设备连接,通过SCL时钟线和SDA数据线实现同步通信。SPI则是高速全双工串行接口,使用片选信号(NSS)、时钟线(SCK)以及MOSI/MISO数据线进行同步数据传输。这三种协议各具特点,分别适用于不同场景的嵌入式系统通信需求。
2025-05-03 23:41:05
1491
原创 【芯片测试】:Open Short 测试
开短路测试(Open/Short Test),又称连续性测试或连接性测试,是集成电路制造过程中重要的检测环节。在生产过程中,部分产品会因制造缺陷出现电路开路或短路问题,这类缺陷产品需要通过测试筛选剔除。由于生产测试中成本与测试时间直接相关,因此需要高效方法快速识别失效产品。初期执行开短路测试具有双重作用:1. 缺陷筛选:可快速定位存在开路或短路缺陷的产品,避免后续复杂测试资源浪费;2. 连接验证:用于确认自动测试设备(ATE)与被测设备(DUT)之间的电气连接是否正常,确保测试系统本身的可靠性。
2025-04-29 23:53:53
4365
2
原创 【硬件】:TTL和CMOS电平
数字电路电平规范是确保电路间正常通信的关键。文章首先解释了电平规范的必要性,指出不同电压标准会导致信号识别错误,并通过噪声容限和驱动能力说明其重要性。随后详细对比了TTL和CMOS两种主流电平标准的具体参数,包括电源电压、输入输出电平范围及噪声容限等。最后介绍了电平转换方法,包括3.3V与5V系统间的双向转换电路设计,通过OC门和上拉电阻实现安全可靠的电平适配。全文系统性地阐述了数字电路电平匹配的核心问题与解决方案。
2025-04-27 00:19:43
3451
原创 【硬件】:仪器控制和总线技术
摘要:本文介绍了仪器控制的关键技术,包括硬件接口、控制指令和软件架构。硬件方面详细解析了GPIB、串口(RS-232/RS-485)和USB三种接口的物理特性与通信机制;软件方面重点阐述了SCPI标准指令集(如*IDN?、*RST等)和跨平台VISA架构的应用。通过PyVISA和LabVIEW VISA等工具,可实现计算机对各类仪器的自动化控制,显著提升测试效率,适用于实验室、工业测试等需要重复测量的场景。
2025-04-24 23:42:59
1327
原创 【labview】:VISA函数、串口通信
摘要:本文介绍了LabVIEW串口通信的实现方法,通过虚拟串口软件模拟COM1和COM2进行上下位机通信。重点讲解了VISA写入和读取函数的使用,包括配置串口参数、发送"hello world"数据、定时读取固定字节数据、处理超时错误以及终止符的应用。实验演示了在不同设置下数据收发效果,如上位机读取缓冲区数据、处理终止符#中断读取等,为虚拟串口通信开发提供了实用参考。
2025-04-19 22:21:06
2781
原创 【LTspice】:经典波形的仿真
本文详细介绍了在电路仿真软件中设置各类电压波形的参数配置方法。主要包括正弦波、方波、梯台波、三角波和锯齿波五种波形,分别说明其关键参数设置:正弦波需设置直流偏置、幅度、频率、相位及阻尼因子等;方波需配置高低电平、周期、占空比等;梯台波、三角波和锯齿波则通过调整脉冲函数的上升/下降时间实现。每种波形均配有参数设置截图和仿真结果图,直观展示参数变化对波形的影响,为电路仿真中的信号源配置提供实用参考。
2025-04-04 21:28:15
4373
原创 【LTspice】:开尔文连接
文章摘要:本文探讨了电阻测量的误差问题及解决方法。理想情况下,1Ω电阻测量结果准确,但实际导线电阻会导致3%的误差。通过开尔文连接法,建立独立的电流输出和电压测量环路,利用微小电流减小导线压降影响,最终实现了精确测量(1Ω)。该方法通过优化PCB布线宽度,有效消除了导线电阻带来的测量误差。(149字)
2025-03-29 11:33:02
925
原创 【LTspice】:RC电路搭建
本文介绍了使用仿真软件绘制RC电路原理图并进行瞬态分析的过程。主要内容包括:1)新建原理图并放置电压源、电阻、电容等元件;2)使用快捷键旋转元件和连线操作;3)设置元器件参数和仿真条件(10ms时长以完整观测充放电过程);4)运行仿真后,通过点击电路节点查看电容电压/电流波形,分析RC电路的动态特性:初始短路状态→指数规律充电→最终稳态过程。文中配有详细操作截图,展示了从电路搭建到结果分析的全流程。
2025-03-27 23:47:18
869
原创 【芯片测试】:C++基础(一)
本文介绍了C++中的几个关键概念:1)#include预处理指令的两种用法及查找路径差异;2)#if条件编译指令的使用场景;3)类的定义、继承方式和命名空间机制;4)虚函数与动态绑定的实现原理。通过代码示例展示了public继承、命名空间封装、虚函数重写等核心特性,重点说明了virtual和override关键字在实现多态中的作用。这些内容涵盖了C++基础语法中的重要组成部分,对理解面向对象编程和预处理机制具有指导意义。
2025-03-27 20:57:59
421
原创 【labview】:入门使用
LabVIEW是一款图形化编程工具,主要用于数据采集和仪器控制。其程序由前面板(用户界面)、程序框图(功能实现)和图标/连接器(子程序接口)三部分组成。开发过程中常用控件选板、函数选板和工具选板进行交互操作。LabVIEW采用数据流编程机制,节点执行取决于输入数据的有效性。调试工具包括断点、探针和高亮显示等。通过创建求平均数VI的实例,展示了从新建VI到生成应用程序的全过程,包括子VI的建立调用和程序调试技术。
2025-03-22 11:10:59
5678
原创 【C++】:算法--入门模拟
本文整理了算法入门模拟题解,包含简单模拟、查找元素和图形输出三大类题型。在简单模拟部分,介绍了3N+1猜想、三角形判断、单调序列验证等基础算法实现;查找元素部分讲解了线性查找、统计出现次数和元素对匹配的方法;图形输出部分展示了等腰直角三角形生成的循环控制技巧。所有题解均采用C++实现,注重基础算法思想的讲解和代码优化技巧,如大数取模运算的简化处理。这些例题涵盖了条件判断、循环控制、数组操作等编程基础知识点,适合算法初学者练习。
2022-07-03 22:34:57
1934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅