- 博客(318)
- 资源 (1)
- 收藏
- 关注
原创 爬电距离与电气间隙
高压PCB设计中,爬电距离与电气间隙是安规失效的关键因素。爬电距离指沿绝缘材料表面的最短路径,电气间隙则是空气中直线距离。工程实践中常见误区是将二者简单等同,导致高压下爬电距离不足而击穿。影响安全距离的因素包括湿度、污染等级和PCB材料特性。解决方案包括开槽强制绕行路径、涂覆绝缘涂层及DRC自动检查。设计需综合考虑IPC标准、工艺公差和环境因素,强调物理手段优先于经验判断。核心原则是:表面绝缘距离决定高压产品的长期可靠性,必须通过标准化设计和严格验证确保安全。
2026-01-07 22:03:52
396
原创 STM32CubeMX定时器输出比较模式-步进电机
本文介绍了STM32CubeMX中定时器输出比较模式的配置及应用。主要内容包括: 输出比较原理:通过比较CNT与CCR值产生OCyREF信号,支持冻结、有效/无效电平、翻转等输出模式,可配置预装载功能。 关键HAL库函数:详细列出了HAL_TIM_OC_Init()、HAL_TIM_OC_ConfigChannel()等12个核心函数的功能说明。 实际应用案例:以STM32F334C8T6为例,移植电机控制算法,展示了定时器配置界面参数说明(预分频36-1、周期4999、向上计数等),并实现PA10引脚脉冲
2026-01-07 22:02:24
715
原创 TMC2209与UART通信控制之搞不定
本文记录了使用STM32F334通过UART2与TMC2209电机驱动芯片通信时遇到的问题。作者详细介绍了硬件配置(包括时钟、UART和DMA设置)和通信协议(64位数据格式、CRC校验等),并展示了写入/读取寄存器的测试数据。尽管尝试了多种波特率(115200-230400)和不同节点地址,但始终无法成功读取寄存器数据。文中还分析了可能的原因,包括同步字节特性、波特率自动适配机制等,但问题仍未解决。最后作者寻求技术指导,希望能找到通信失败的根本原因。
2025-12-07 07:54:40
808
原创 STM32CubeMX生成工程不运行 卡在HAL_SYSTICK_Config
摘要:STM32F334在Keil 5中运行工程时卡在HAL_SYSTICK_Config函数,原因是Keil未正确加载CubeMX的内存布局配置。解决方法为:在Keil的Linker选项中勾选Use Memory Layout from Target Dialog,确保RAM(0x20000000)和FLASH(0x08000000)地址与CubeMX一致。此操作可修复中断向量表地址错误,使SysTick正常工作。该问题在STM32F3系列中常见,解决后成功率100%。
2025-12-07 07:50:45
635
原创 STM32CubeIDE通过ST Link V2下载程序报错 Error: failed to erase memory Encountered Error when opening
报错摘要:STM32编程时出现"failed to erase memory"错误,提示无法打开CubeProgrammer工具并检测GDB版本失败。尝试使用其他下载工具可正常操作,疑似与下载器兼容性问题有关,更换下载器后问题解决,可能涉及盗版检测机制。
2025-11-30 18:02:43
476
原创 5.2 FreeRTOS 二值信号量使用示例-笔记
本文介绍了FreeRTOS二值信号量在ADC数据采集系统中的应用。系统通过定时器每500ms触发ADC采样,转换完成后在中断服务程序中释放二值信号量,通知显示任务读取数据并显示。二值信号量作为长度为1的队列,实现了"数据就绪"的事件通知机制。系统架构包括定时器触发、ADC中断处理、信号量释放和任务响应四个环节,具有资源高效、实时响应、代码简洁和中断安全等优势。关键实现包括信号量创建、定时器配置、中断服务程序处理和显示任务实现,通过xSemaphoreGiveFromISR和xSemaph
2025-11-30 18:01:38
755
原创 STM32+RTOS+环形缓冲区+DMA半满中断+DMA全满中断+空闲中断实现高效的串口接收框架(笔记)
本文介绍了一种基于STM32和FreeRTOS的高效串口接收框架。通过DMA半满/全满中断和空闲中断机制,结合环形缓冲区实现高速数据接收。主要内容包括:1) STM32CubeMX工程配置,包括UART1 DMA循环模式设置和RTOS启用;2) 环形缓冲区(FIFO)的实现,提供数据缓冲和管理功能;3) 中断处理机制,确保数据接收的实时性和可靠性。该方案能有效降低CPU负载,避免数据丢失,适用于高速串口通信场景。文中详细展示了FIFO缓冲区的关键操作函数实现,包括创建、插入/获取数据、状态检查等功能。
2025-11-20 22:27:18
1132
1
原创 正点原子-梯形加减速
本文介绍了正点原子团队开发的步进电机驱动代码实现,基于STM32F407电机开发板。主要内容包括:1)通过GPIO初始化4个步进电机的方向控制引脚(DIR1-4)和使能引脚(EN1-4),配置为推挽输出模式;2)提供了时钟使能和引脚初始化函数stepper_init(),支持设置定时器的自动重装值和预分频数;3)采用梯形加减速控制算法,通过多张示意图展示了速度曲线变化过程。该驱动代码实现了对多个步进电机的精确控制,适用于工业自动化等需要精密运动控制的场景。
2025-11-20 22:23:09
895
原创 医疗器械三大核心文档实战指南:DHF、DMR、DHR的实际应用场景解析
DHF、DMR、DHR是医疗器械质量体系的核心:DHF支撑设计开发与变更追溯,DMR统一生产标准保障多厂一致性,DHR实现批次精准追溯与质量分析。三者协同应用于研发、扩产、召回、供应链等场景,通过闭环管理提升合规性与运营效率。数字化转型推动其集成化、自动化和智能化,将文档体系转化为企业质量竞争力的关键驱动力。
2025-11-18 21:22:16
811
原创 医疗器械质量体系DHF、DMR、DHR的含义
DHF(设计历史文件)记录医疗器械从概念到定型的完整设计过程;DMR(器械主记录)是指导生产的“黄金标准”,包含所有技术规范与工艺要求;DHR(器械历史记录)则详细记载每批产品的实际生产数据。三者构成医疗器械全生命周期质量管理体系:DHF输出形成DMR,DMR指导生成DHR,DHR反馈问题可追溯优化DHF与DMR,形成闭环管理,确保产品安全、有效、可追溯。
2025-11-18 21:20:17
1241
原创 位寻址操作方式_笔记
本文介绍了Keil C51中两种精准控制寄存器特定位的方法:1)通过位运算符(&和|)进行位操作,需手动计算掩码但通用性强;2)利用bdata存储类型和sbit位寻址,可直接操作位变量,代码更简洁高效但受限于0x20-0x2F地址范围。文章还建议优先使用SFR+sbit直接定义硬件寄存器位,并强调了操作原子性和中断保护的重要性。两种方法各具优势,开发者可根据场景选择以实现安全、高效的位操作。
2025-10-24 09:44:57
708
原创 电磁兼容性(EMC)辐射发射试验中的“1组”与“A类”区别
摘要:GB 4824标准中,"1组"和"A类"是不同维度的分类。"1组"设备无意产生射频能量(如医疗设备、计算机),"2组"设备则有意使用射频(如微波炉)。"A类"适用于工业/商业环境,限值较宽松;"B类"用于居住环境,限值更严格。两者交叉组合,例如工业PLC为"1组A类",家用微波炉为"2组B类"。新版标准新增了1组设备在1-18GHz频段的测试要
2025-10-16 10:17:52
1059
原创 STM32CubeIDE-汉化/中文
STM32CubeIDE汉化教程 本文介绍了STM32CubeIDE的中文汉化方法。操作步骤包括:1. 使用中科大镜像的Babel汉化包(链接已提供);2. 在软件中加载更新站点;3. 选择中文语言包并安装;4. 等待安装完成,过程中可能弹出安全警告;5. 重启软件即可完成汉化。教程配有详细截图说明每个步骤,帮助用户轻松实现界面中文化。汉化后软件所有菜单和选项将显示为中文,方便中文用户使用。
2025-10-16 10:16:23
728
原创 电磁兼容试验标准:电快速脉冲EFT
摘要: 电快速脉冲(EFT)测试依据GB/T 17626.4标准,模拟感性负载切换等瞬态干扰,通过共模/差模方式影响设备端口。核心参数包括:50ns脉宽、5ns上升沿、2kV峰值电压,标准脉冲重复率应为10kHz(注意文本中2.5kHz可能为笔误)。测试需使用33nF耦合电容的容性耦合夹,间距>0.5m,电源端口要求2kV共模抗扰度。常见错误包括脉冲频率设置偏差与接地不当,通过优化滤波电路可提升合规性。关键建议:验证测试设备参数(10kHz)、严格按标准等级执行端口测试,并参考IEC 61000-4-
2025-10-04 21:57:29
1165
原创 VScode-ESP-IDF工程函数定义无法跳转且无注释提示
VScode中ESP32-IDF工程函数定义无法跳转问题解决 问题描述:在VScode中右击函数名称时,"转到定义"和"转到声明"功能无反应。 解决方法: 确认ESP-IDF驱动目录位置(如"d:\ESP32S3_V5.3.4\v5.3.4\esp-idf") 检查components组件目录,这是ESP-IDF的核心,包含FreeRTOS、硬件驱动、wifi等常用代码组件 参考链接提供更详细的解决方案。该问题通常与路径配置有关,正确设置ESP-I
2025-10-04 21:56:23
417
原创 10.1-STM32Cube-FreeRTOSFreeRTOS软件定时器概述与函数
FreeRTOS软件定时器摘要 FreeRTOS提供软件定时器功能,通过定时器服务任务实现。软件定时器分为单次和周期两种类型,具有休眠和运行两种状态。定时器操作通过指令队列发送给定时器服务任务处理,该任务优先级默认为2。定时器的起始时间从调用xTimerStart/Reset时开始计算,而非服务任务处理时刻。关键API包括创建(xTimerCreate)、启动(xTimerStart)、停止(xTimerStop)、重置(xTimerReset)等函数。
2025-09-27 15:17:06
972
原创 9.1-STM32Cube-FreeRTOS流缓冲区概述-笔记
FreeRTOS流缓冲区与消息缓冲区是高效的进程间通信机制。流缓冲区适用于单写入者-单读取者场景,可传输任意长度字节流,通过复制数据实现通信。消息缓冲区基于流缓冲区实现,但传输的是固定长度的离散消息,每个消息自动包含长度头信息。两者区别在于:流缓冲区处理字节流,消息缓冲区处理离散消息。使用时需注意单写单读限制,多写/读场景需加临界保护。提供了丰富的API函数支持创建、读写、状态查询等操作,适用于任务间或ISR与任务间通信。
2025-09-27 09:42:01
1117
原创 STM32 Hardfault异常调试-笔记
STM32 Hardfault异常调试笔记 文章总结了STM32开发中Hardfault异常的调试方法。重点分析了核心寄存器(R0-R12、SP、LR、PC)的作用和栈结构原理,通过实际调试演示了函数调用时的压栈过程。当程序访问非法地址(如0xA0000000)时会触发Hardfault,此时可通过栈指针回溯错误位置。调试技巧包括:观察寄存器变化、内存窗口查看栈数据、反汇编定位返回地址等,最终实现快速定位异常根源。
2025-09-26 22:41:00
880
原创 光电探测-IV转换电路也称为TIA跨阻放大器-笔记
摘要: 传统大电阻测电流法存在内阻分流、输出电压小和依赖电流源等问题,导致精度受限。TIA跨阻放大器利用运放的虚短和虚断特性,使输入电流完全流经反馈电阻,输出电压仅与反馈电阻相关($V_o=-I·R_f$),消除了内阻影响。其优势包括高增益、低噪声和独立于电流源参数。实际应用中需权衡反馈电阻的增益与带宽,优化稳定性(如添加补偿电容)和噪声性能。TIA广泛适用于光电探测等微小电流测量场景,显著提升精度与可靠性。
2025-09-26 21:55:27
1170
原创 FPGA_边沿检测
本文介绍了FPGA中边沿检测的几种实现方法,包括上升沿、下降沿和双沿检测。正点原子和野火教材通过寄存一拍信号并与原信号逻辑运算(如与、或、异或)来检测边沿。正点原子采用组合逻辑实现,野火则展示了时序逻辑实现。小梅哥教材进一步分析了寄存器级联的原理,指出常见错误(如寄存器未有效延迟)及改进方案。关键点在于:1)通过寄存器保存信号前一状态;2)利用当前状态与前一状态的逻辑比较产生边沿脉冲;3)双沿检测可通过上升沿和下降沿信号相或实现。典型应用场景包括按键检测和状态机转换控制。
2025-08-25 09:30:00
2060
原创 基础对象(lv_obj)
LVGL 中 lv_obj 是所有控件的基类,提供基础功能和面向对象继承特性。系统分为活动屏幕、顶层和系统层三层结构,后创建的对象默认显示在前。通过 lv_obj_create() 动态分配内存,lv_obj_del() 释放内存,支持父子关系管理。基础对象可作为容器嵌套其他控件,标签文本支持格式化输出,图层间遵循"系统层>顶层>活动屏幕"的显示优先级规则。
2025-08-23 14:01:53
642
原创 TL431基准电压源
本文介绍了TL431精密可编程基准电压源的工作原理与应用设计。TL431通过外部电路可调输出2.5V-36V基准电压,内部包含误差放大器和三极管实现快速负反馈调节(纳秒级响应)。其典型应用需注意:1) 灌电流范围1-100mA;2) 负载电流计算需包含限流电阻功率设计(如100mA负载选25Ω/0.5W电阻);3) 推荐使用10μF负载电容避免震荡;4) 通过三极管扩流可提升带载能力(如1000mA负载需计算基极电阻)。相比普通稳压管,TL431具有高精度、快速响应和灵活可调的优势,适用于需要精密参考电压的
2025-07-26 11:57:10
1857
原创 同步互斥与通信-有缺陷的同步示例FreeRTOS笔记
概念核心目的典型机制应用场景同步协调任务的执行顺序信号量、条件变量依赖关系(如任务B等任务A)互斥防止多个任务同时访问资源互斥锁、二进制信号量共享资源保护(如全局变量)优化问题避免编译器优化导致的变量问题volatile关键字多任务共享变量关键点同步 ≠ 互斥:同步关注顺序,互斥关注资源独占。避免忙等待:用阻塞式等待替代死循环,提高系统效率。正确使用volatile:确保共享变量的内存可见性,避免编译器优化错误。
2025-06-26 21:47:13
907
原创 8.1-STM32Cube-FreeRTOS任务通知-笔记
FreeRTOS任务通知机制摘要 FreeRTOS任务通知是一种高效的任务间通信机制,具有以下特点: 轻量高效:直接通过任务控制块操作,无需额外内核对象,节省内存和CPU资源 多功能性:可模拟信号量、事件组等多种同步方式 双模式API: 通用版本:xTaskNotify支持位操作、数值设置等5种操作模式 信号量专用版本:xTaskNotifyGive/ulTaskNotifyTake简化信号量操作 中断安全:提供FromISR版本用于中断上下文 灵活接收: xTaskNotifyWait支持精细控制通知值清
2025-06-26 19:49:04
805
原创 1.3-STM32Cube-FreeRTOS文件组成和基本原理
FreeRTOS文件组成与配置摘要 FreeRTOS由五类核心文件组成: 用户文件:FreeRTOSConfig.h(核心配置文件,定义调度方式、时钟频率等)和freertos.c(主程序文件) 通用功能文件:实现任务队列、信号量、定时器等(如queue.c、tasks.c),与硬件无关 通用定义文件:FreeRTOS.h包含默认宏定义和数据类型,与FreeRTOSConfig.h配合使用 CMSIS-RTOS接口:提供标准化API(如cmsis_os2.h),增强可移植性 硬件移植文件:port.c/po
2025-06-23 15:05:46
1104
原创 gerbera文件转PCB文件-KiCad
本文介绍了使用KiCad软件将Gerber文件转换为PCB文件的详细步骤。首先需要下载安装KiCad 9.0.1版本,然后通过Gerbera查看器导入文件。文中指出Gerber文件导入时会存在焊盘、钻孔、丝印等多方面的问题,并提供了相应的解决建议。同时还对比了KiCad和Altium Designer的层结构差异,给出了从KiCad导入Altium Designer的注意事项,建议使用AD23以上版本并配合扩展插件。整个转换过程包括文件保存、层设置调整等关键环节,最终生成.kicad_pcb格式的PCB设计
2025-06-18 19:22:16
847
原创 慧勤智远 STM32H7 LVGL移植成8.3.10版本
摘要:本文详细介绍了在STM32H7开发板上将LVGL图形库升级至8.3.10版本的具体操作步骤。主要内容包括:获取LVGL8.3.10源码包后的文件裁剪处理(保留核心src、examples和porting接口文件),工程移植中的文件添加(约200+个.c文件和多个.h文件),关键配置参数的调整(如显示分辨率宏定义、内存管理方式选择),以及FreeRTOS系统下定时器心跳的设置。特别强调了版本差异(V7与V8函数差异大)和配置文件中模板字样去除的重要性,为开发者提供了完整的移植参考方案。
2025-06-16 19:18:27
1442
原创 EMC整改流程-频谱仪使用
我们的电场探头还具备另一个功能,即在整改过程中,我们可以借此比较滤波器的效果。在我们的案例中,我们有一个类似网关的产品,有三根网线,我们不清楚哪一根是主要干扰路径的情况下,可以通过磁感探头配合示波器耦合并探测每根线上噪声的能量,通过比较各条线上的噪声能量,可以大致确定主要干扰路径是哪条线。在我们的案例中,我们有一个类似网关的产品,有三根网线,我们不清楚哪一根是主要干扰路径的情况下,可以通过磁感探头配合示波器耦合并探测每根线上噪声的能量,通过比较各条线上的噪声能量,可以大致确定主要干扰路径是哪条线。
2025-06-08 11:33:21
973
原创 7.1-STM32Cube-FreeRTOS事件组-笔记
FreeRTOS事件组是一种高效的多任务同步机制,主要用于处理多事件触发和任务广播场景。其核心特点包括: 采用位掩码结构(32位或16位),低字节用于用户事件,支持一对多广播唤醒; 提供丰富的API,包括事件位设置/清除、条件等待和同步操作; 典型应用包括多事件组合触发(或/与逻辑)、事件广播和多任务同步; 相比队列/信号量,事件组资源消耗更低且支持更复杂的同步逻辑。 使用场景示例:按键事件同时触发LED和蜂鸣器任务,或多任务在同步点等待彼此完成。ISR需通过守护任务间接操作事件组。
2025-06-07 21:02:12
1205
原创 STC8H系列 驱动步进电机
本文介绍了基于STC8H8K64U单片机驱动步进电机的实现方法。硬件设计使用P2.3引脚作为PWMB通道输出信号,配合P1.0和P1.1引脚分别控制脉冲和方向输入。软件部分采用线性加减速算法,通过PWMA模块实现脉冲输出控制。代码示例展示了关键配置函数和频率计算逻辑,包括加减速处理、串口控制命令解析等功能。系统支持通过串口发送指令控制电机运行参数,如"L1,500,1000"表示以500Hz正转1000个脉冲。该方法为步进电机驱动提供了简单有效的解决方案。
2025-06-07 10:19:26
1163
原创 修改 Windows 10/11 的系统设置中显示的安装日期
摘要:本文介绍如何修改Windows 10/11系统设置中显示的安装日期。通过获取LDAP时间戳并转换为Unix时间戳,在注册表编辑器中修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion路径下的InstallTime和InstallDate键值。修改后需验证系统设置和systeminfo命令输出,注意需要管理员权限并建议备份注册表。InstallTime用于系统设置界面显示,而InstallDate影响systeminfo命令结
2025-06-04 19:47:16
7641
原创 LVGL显示其他大小的中文
百问网有通过免费的字体好像不是TTF格式的这个也没关系LVGL官方字体转换器根据提示填写内容,TTF字体单击浏览选择字体提交后,自动下载文件链接放入MDK文件中将下载的.c字库翻到最底部,有了这个我们就可以用了。要在文件中声明字体使用使用函数 LV_FON_DECLARE 引用。如果无法显示在MDK中更改成UTF-8编码格式。
2025-05-26 21:00:43
1162
原创 STM32F4-ADS1256_STM32CubeMX笔记
本文详细介绍了ADS1256模拟到数字转换器的接线方式、初始化配置、读取芯片ID以及配置寄存器的过程。通过SPI四线通信,利用DRDY指示采样率,并提供了读取时序的代码实现。在初始化时,通过读取芯片ID验证时序正确性,并给出了配置采样率、增益、通道和同步校准的步骤。此外。
2025-05-25 11:29:43
1531
7
原创 直流电流采样电路全解析与应用
精密电阻两端会产生电压差。根据欧姆定律,即电流I等于电压U除以电阻R,通过将精密电阻两端的电压差除以精密电阻的阻值,即可得出电路中的电流值。
2025-05-12 10:30:00
2954
2
原创 5.1-STM32Cube-FreeRTOS Semaphore信号量-笔记
本文介绍了FreeRTOS中的信号量机制,重点对比了信号量与互斥量的核心区别。信号量主要用于进程间同步或资源计数,而互斥量则用于共享资源的互斥访问。信号量无所有权,任何任务或ISR均可释放,且无优先级继承机制;互斥量则有所有权,仅持有者可释放,并具备优先级继承机制。文章详细介绍了二值信号量和计数信号量的功能、使用场景及操作函数。二值信号量常用于任务同步,如ADC中断通知任务处理数据;计数信号量则用于管理多个同类型资源,如ADC双缓冲区。通过示例代码展示了如何使用二值信号量实现ADC中断与任务同步。
2025-05-10 22:54:59
1139
原创 4.1-STM32Cube-FreeRTOS Queue消息队列-笔记
FreeRTOS中的队列(Queue)是一种重要的进程间通信(IPC)机制,用于任务与任务之间或任务与中断服务程序(ISR)之间的数据传递和同步。队列的主要作用包括数据缓冲、任务同步和优先级处理。在ADC连续采样等场景中,双缓冲区机制常与队列结合使用,一个缓冲区用于数据采集,另一个用于数据处理,通过队列传递缓冲区切换信号,确保采集和处理的连续性。FreeRTOS提供了多种队列操作函数,如xQueueCreate、xQueueSend和xQueueReceive,支持动态和静态内存分配,并允许在任务和ISR中
2025-05-10 10:59:22
1137
原创 2.1-STM32Cube-FreeRTOS任务状态与优先级-笔记
如果就绪态任务高于或者等于了当前运行任务的优先级,那么就绪态的任务就进入了运行态。如果就绪任务的优先级低于了当前运行任务的优先级,处于就绪状态的任务就无法获得CPU使用权,继续处于就绪状态。那就绪的任务获取CPU的使用权进入运行态,这个过程称为切入相应的运行态的任务。这两种状态都是非运行状态,运行的任务就交出了CPU的使用权,任务调度器可以使其他就绪态的任务进入运行状态。如果用户创建的任务都不处于运行状态,例如处于阻塞状态,空闲任务就占用CPU并处于运行状态,空闲任务是比较重要的,也有很多用处。
2025-05-09 02:45:00
1876
STM32CubeMX定时器输出比较模式-步进电机
2025-12-07
STM32+RTOS+环形缓冲区+DMA半满中断+DMA全满中断+空闲中断实现高效的串口接收框架(笔记)
2025-11-15
嵌入式技术专业人才认证平台
2022-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅