嵌入式基础知识
文章平均质量分 79
嵌入式、单片机等相关专业知识,21ic原创内容
21ic电子工程师
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[APM32F4] APM32F427如何使用ESP8266模块实现WIFI联网功能
本文介绍了在RT-ThreadStudio环境下使用APM32F427芯片通过ESP8266模块实现联网控制的开发过程。作者首先通过安装APM32F4系列SDK包并基于APM32F407模板创建项目,通过修改时钟配置适配APM32F427芯片。随后详细说明了如何添加ESP8266组件、配置UART2接口以及初始化ESP8266使能引脚(PA0)。最终实现了WIFI连接、IP地址获取和网络连通性测试(ping百度)。文章突出了RT-Thread组件化开发的优势,使ESP8266驱动和AT指令解析等复杂功能得以原创 2026-06-22 21:24:10 · 15 阅读 · 0 评论 -
[APM32F4] APM32F427在RT-Thread系统上如何使用LwIP网络功能实现网络通信
本文详细介绍了在RT-Thread操作系统下,基于APM32F427芯片使用LwIP网络协议栈实现网络通信功能的开发过程。主要内容包括:1. ENV工具安装与RT-Thread源码准备;2. 修改APM32F407 BSP适配F427芯片;3. 配置LwIP协议栈并添加以太网驱动文件;4. 编写PHY复位和GPIO配置函数;5. 验证网络功能并测试TCP客户端/服务器例程。文章提供了完整的移植步骤和关键代码片段,特别说明了如何解决官方BSP缺失驱动文件的问题,最终实现了稳定的网络通信功能。原创 2026-06-22 21:22:48 · 87 阅读 · 0 评论 -
[APM32F4] APM32系列的RT-Thread外设驱动适配教程(一)—— BSP包的制作教程
本文介绍了RT-Thread的BSP(板级支持包)框架结构及制作方法。BSP由通用驱动库和特定开发板BSP组成,制作过程需要掌握APM32系列BSP使用、Scons构建工具、设备驱动框架及Kconfig语法等知识。以APM32E103ZE-EVAL开发板为例,详细讲解了BSP制作步骤,包括复制基础工程、配置工程模板、修改构建脚本和Kconfig选项、调整板级配置文件,最后通过Env工具重新生成工程。文章还提供了具体代码示例和配置修改说明,帮助开发者快速为新开发板创建适配的BSP。原创 2026-06-22 21:21:54 · 56 阅读 · 0 评论 -
单片机编程软件之keil单片机编程软件编程事项介绍
本文详细介绍了Keil C51单片机编程软件的扩展功能和使用要点。主要内容包括:1. Keil C51的19个扩展关键字;2. 8051系列CPU的四种内存区域划分;3. 三种存储模式(Small/Compact/Large)的特点及适用场景;4. 变量存储类型声明方法;5. C51特有的扩展数据类型(bit/sbit/sfr等);6. 位变量使用方法及注意事项。文章重点解析了Keil C51针对8051硬件的特殊编程规范,为单片机开发者提供了实用的技术参考,特别是在内存管理、变量声明和位操作等关键方面的详转载 2026-06-22 21:20:38 · 9 阅读 · 0 评论 -
[APM32F0] APM32F003使用硬件I2C轮询模式实现与MPU6050的通讯
本文介绍了I2C通讯协议的基本原理及其在APM32F003微控制器与MPU6050传感器通信中的应用。I2C协议采用双线制(SDA数据线和SCL时钟线),支持多主多从设备通信,具有三种传输速率模式。文章详细阐述了I2C的物理层特性(如总线仲裁、上拉电阻)和协议层规范(包括起始/停止信号、数据有效性、地址帧及应答机制)。通过APM32F003的硬件I2C模块,作者展示了初始化配置流程,并提供了完整的MPU6050驱动代码,包括寄存器读写、ID获取及六轴数据采集功能。实验通过逻辑分析仪验证了通信的正确性,相关例原创 2026-06-22 21:19:46 · 170 阅读 · 0 评论 -
[APM32F4] 跟随 Fabrice Bellard 的脚步,把 MicroQuickJS 移植到 APM32F427
本文介绍了将Fabrice Bellard开发的MicroQuickJS轻量级JavaScript引擎移植到国产APM32F427微控制器的全过程。作者通过创建基础工程实现串口和GPIO控制后,重点解决了三个关键问题:1. 使用mquickjs自带工具生成必要的头文件;2. 强制设为32-bit模式保证PC与MCU环境一致;3. 在Flash中划分16KB专用空间存储JS脚本。移植后实现了通过JS代码控制LED闪烁(PF0引脚)和按键中断(PD9引脚)功能,并支持动态修改GPIO模式/电平属性。工程采用Ke原创 2026-06-22 21:18:43 · 139 阅读 · 0 评论 -
走进晶振的殿堂,有源晶振EMC设计方案解析
本文介绍了有源晶振的EMC标准设计方案,主要内容包括:晶振的分类(无源和有源)、常用技术指标(频率精度、抖动等)、四种有源晶振类型(SPXO、VCXO、TCXO、OCXO)及其应用场景。重点分析了时钟抖动与相位噪声的关系及测量方法,并提供了晶振电路设计中的EMC注意事项,如电源去耦、阻抗匹配和PCB布局要点(接地、走线优化等)。这些措施能有效降低干扰,提升系统稳定性。原创 2026-06-22 21:17:42 · 157 阅读 · 0 评论 -
[STM32F1] 【每周分享】以stm32f103为例谈谈tinyusb的性能测试与优化
本文介绍了如何使用开源USB协议栈TinyUSB在STM32F103C8T6开发板上实现USB CDC回环测试,并优化传输性能。作者通过修改TinyUSB的双CDC端口示例代码,实现了数据回传功能,并使用Python脚本测试初始传输速率仅为约1MB/s。通过分析发现TinyUSB默认配置较为保守,作者采取了以下优化措施:1)减少CDC端口数量;2)将编译优化从-Os改为-O2;3)增大缓冲区大小至4096字节。优化后传输性能显著提升,接近Full Speed USB的理论极限值。文章详细记录了硬件选择、固件原创 2026-06-22 21:16:46 · 181 阅读 · 0 评论 -
【每周分享】贴片电阻为什么会有4.7K这些非整数的阻值呢?
【摘要】电阻标称值(如2.2K、4.7K)采用非整数设计源于国际电工委员会的E系列标准。该标准基于等比数列原理,使相邻阻值按固定比例(如E24系列为10^(1/24)≈1.1倍)分布,确保误差范围内无间隙覆盖。例如±10%精度的E12系列,1.0电阻上限(1.1)与1.2电阻下限(1.08)近乎衔接,以最少规格实现全区间覆盖。特殊数值(如8.2替代8.14)系四舍五入优化所致,通过10的幂次扩展可生成完整阻值序列(如4.7Ω~4.7MΩ)。此设计兼顾生产经济性与工程实用性。原创 2026-06-22 21:15:51 · 193 阅读 · 0 评论 -
c编译器并不难,Turbo c编译器介绍
本文介绍了Turbo C编译器的历史发展与基本特点。Turbo C是美国Borland公司1987年推出的C语言集成开发环境,其便捷的下拉菜单和一体化开发界面深受欢迎。文章详细说明了Turbo C 2.0版本的硬件要求、文件组成及安装步骤,并解释了配置文件的设置方法。Turbo C系列产品最终发展为面向对象的Turbo C++,展示了Borland公司在软件开发工具领域的持续创新。转载 2026-06-22 21:14:08 · 10 阅读 · 0 评论 -
[单片机芯片] 基于CH579驱动OPT300X环境光传感器
本文介绍了如何驱动OPT3001环境光传感器模块。作者通过分析模块电路,采用CH579开发板和软件模拟I2C实现了对传感器的控制。文章详细说明了I2C通信的初始化、起始/停止信号、数据收发等底层驱动函数,并提供了OPT3001的寄存器配置、数据读取及光照强度计算的具体实现。调试过程中发现ADDR引脚必须接地才能正常工作,最终通过设置高低阈值成功获取光照数据。作者建议使用硬件I2C以提高效率,并强调理解模块原理图和正确配置地址的重要性。完整的驱动代码已通过测试,可用于环境光检测应用。原创 2026-06-19 08:05:47 · 11 阅读 · 0 评论 -
RTOS 线程为什么几乎都要写延时?——从“饿死”现象到优先级抢占的本质理解
摘要: 本文探讨了RTOS中常见的低优先级任务“饿死”现象,指出高优先级任务若未主动让出CPU(如调用vTaskDelay()或阻塞等待),会永久霸占资源,导致低优先级任务无法执行。核心原因在于RTOS调度机制——优先级抢占优先于时间片轮转,时间片仅在同优先级任务间生效。 通过裸机与RTOS的对比,分析while(1)无延时的危害,并列举三种典型饿死场景:无限循环、高频短延时、忙等待外部事件。提出解决策略:高优先级任务应尽量采用阻塞式等待(如队列/信号量),低优先级任务必须主动延时。文中还给出了优先级分层建原创 2026-06-19 08:04:38 · 129 阅读 · 0 评论 -
两根线的命运分水岭:为什么CAN必须仲裁,而UART几乎不需要,I2C的仲裁又形同虚设
本文对比分析了UART、I2C和CAN三种两线制通信协议在仲裁机制上的本质差异。UART采用点对点单向通信,物理上避免冲突;I2C允许多主但实际多采用单主模式,仲裁机制简单但很少触发;CAN作为真正的多主总线,将非破坏性位仲裁作为核心机制,通过优先级确保高实时性需求。文章从物理层逻辑、拓扑结构、冲突处理策略、应用场景等维度揭示:UART通过物理隔离避免冲突,I2C被动处理冲突,而CAN主动设计冲突解决机制,这种差异源于各自适用场景对实时性和可靠性的不同要求。原创 2026-06-19 08:02:18 · 119 阅读 · 0 评论 -
如何选用pic单片机?pic单片机或运算符如何使用
本文介绍了PIC单片机的选型与位操作应用。在选型方面,建议初学者选用资源丰富、资料齐全的PIC16F系列,如PIC16F887,其具有256字节EEPROM、A/D转换等功能,适用于多种应用场景。在编程应用方面,针对PIC单片机缺乏位取反指令的问题,通过XOR异或运算指令实现了位取反操作,并展示了在时钟程序中的应用实例,体现了PIC指令的灵活性和强大功能。转载 2026-06-19 08:00:48 · 9 阅读 · 0 评论 -
[开发工具] APM32 RCC模块中晶振Ready标志位的硬件实现原理与LSE起振的备份域写保护机制深度解析
本文深入解析了APM32微控制器时钟树系统中RCC模块的关键机制。重点探讨了两个核心问题:1. 时钟源就绪标志位(如HSIRDY、LSERDY)的硬件判定逻辑,指出其采用"幅度检测+连续合格周期计数+稳定观察期"的多阶段策略,而非简单脉冲计数;2. LSE晶振启动必须解除备份域写保护(DBP位)的设计原因,揭示了这是厂商为确保RTC在掉电后仍能工作而采取的安全架构设计。文章通过对比不同时钟源的启动特性,阐明了硬件设计对可靠性和安全性的优先考量,为嵌入式开发者提供了底层硬件实现的深入理解。原创 2026-06-19 07:59:58 · 139 阅读 · 0 评论 -
[经验知识] HX711称重系统空载AD值偏大问题分析及处理
本文记录了一个电子秤称重系统开发过程中遇到的HX711 ADC前端信号异常问题的分析与解决过程。系统采用HX711芯片采集应变式称重传感器信号时,发现空载状态下AD值偏高导致量程压缩。经过排查确认问题源于传感器桥路不平衡,最终通过在桥臂并联100kΩ电阻进行硬件调零补偿,有效恢复了ADC动态范围。该方案相比降低增益等软件处理方法,以低成本硬件调整从根本上解决了模拟信号偏移问题,提高了系统稳定性和测量精度。文章详细描述了问题现象、分析思路和解决过程,为类似惠斯通电桥应用提供了可借鉴的工程实践经验。原创 2026-06-19 07:58:57 · 165 阅读 · 0 评论 -
单片机编程软件之Keil单片机编程软件常见文件介绍
本文介绍了Keil单片机编程软件中常见文件类型及其作用,帮助开发者有效管理工程文件。主要内容包括:1.工程文件(.uvprojx、.uvoptx等)的重要性;2.源代码文件(.c、.h等)的基础知识;3.链接文件(.map、.lst等)的配置与用途;4.目标文件(.hex、.axf等)的关键作用;5.编译、调试等辅助文件的使用场景。文章重点分析哪些文件必须保留、哪些可删除,并提供了工程文件管理的实用建议,如使用批处理文件清理编译产生的中间文件。原创 2026-06-19 07:57:58 · 147 阅读 · 0 评论 -
APM32系列的RT-Thread外设驱动适配教程(二)——外设驱动使用教程
本文介绍了如何在RT-Thread操作系统下使用APM32系列MCU的外设驱动。主要内容包括:1)使用ENV工具配置BSP工程开启板载外设(以SPI Flash为例);2)RT-Thread设备驱动框架的三层结构(I/O设备管理层、驱动框架层和驱动层);3)应用程序通过标准接口访问硬件的流程。文章强调官方已适配大部分外设驱动,开发者通常只需通过menuconfig配置即可使用,特殊情况下才需自行编写驱动代码。操作步骤涵盖配置修改、工程生成到下载验证的全流程。原创 2026-06-19 07:56:43 · 214 阅读 · 0 评论 -
【每周分享】自定义EtherCAT从站节点地址的功能开发和验证
本文详细介绍了EtherCAT从站模块实现自定义节点地址功能的开发过程。通过分析LAN9252芯片手册,确定了关键寄存器(DL控制寄存器和已配置站别名寄存器)的设置方法。开发时需在上电初始化阶段通过MCU读取拨码开关值并写入ESC芯片,同时在主站软件(如TwinCAT或CODESYS)中配置对应地址和勾选"CheckIdentification"。验证阶段确认模块能正确显示配置地址(如170),修改地址会导致运行异常。该功能实现了通过8位拨码开关灵活设置1~65535范围的从站地址,为工原创 2026-06-19 07:55:55 · 147 阅读 · 0 评论 -
如何解决传感器电子电路设计中的干扰问题
本文主要探讨电子电路设计中的抗干扰技术,从电路布局、屏蔽技术、接地技术、隔离技术等方面提出具体解决方案。在电路布局方面,强调合理的地线、电源布线和元器件布置;在屏蔽技术中介绍了静电屏蔽、电磁屏蔽和低频磁屏蔽的应用;接地技术部分分析了一点接地和多点接地的适用场景;隔离技术则包括电磁隔离和光电隔离等方法。此外还简要介绍了稳压技术、共模干扰抑制和软件补偿等其他抗干扰措施,为电子电路设计中的抗干扰问题提供了较为全面的技术参考。文章内容延续了前文关于抗干扰问题的讨论,形成了完整的解决方案体系。原创 2026-06-19 07:54:42 · 224 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 02用户按键实现外部中断
本文介绍了嵌入式系统中的NVIC(嵌套向量中断控制器)和EXTI(扩展中断/事件控制器)的工作原理与应用。NVIC与处理器核心紧密耦合,支持4级优先级、32个可屏蔽中断和10个Cortex-M0+异常处理,采用尾链优化降低延迟。EXTI控制器则增强了GPIO和外围信号的中断处理能力,支持边沿检测和停止模式唤醒。文章包含原理图展示和实际代码示例,演示了如何在回调函数中实现LED控制操作。这些技术能有效提升中断响应速度和系统能效,适用于嵌入式开发场景。原创 2026-06-18 09:39:16 · 9 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 03定时器16实现LED的闪烁
摘要:本文介绍了STM32微控制器中通用定时器的功能特性,重点讲解了TIM16定时器的配置与使用。文章分为三部分:1)概述5个通用定时器(TIM2-TIM4为全功能,TIM16/17为中特性)的基本参数和功能;2)使用STM32CubeMX配置TIM16的时钟参数并启用中断;3)提供初始化代码和回调函数实现,通过定时器中断控制LED以1秒间隔闪烁(分频系数63,重装值999)。示例代码展示了如何初始化TIM16并实现周期性任务,最终在开发板上验证了定时功能。原创 2026-06-18 09:38:38 · 78 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 04调试板载的串口输出功能
本文介绍了USART串口通信的基础知识与应用实现。USART支持全双工异步通信,可实现115200波特率的8位数据传输,具有灵活配置选项。文章详细展示了STM32串口2的初始化代码,包括波特率设置、数据格式配置和硬件流控制等参数。通过HAL_UART_Transmit函数实现数据传输,并配合LED指示灯进行状态显示。最后通过printf函数验证了串口调试功能,附有实物测试效果图。该实现方案适用于嵌入式系统中的串口通信开发,可作为基础参考模板。(146字)原创 2026-06-18 09:36:16 · 83 阅读 · 0 评论 -
单片机编程软件之Keil单片机编程软件对ANSIC的扩展学习
本文详细介绍了Keil C51单片机编程软件对标准ANSI C的扩展功能,主要包括8个关键方面:存储类型与区域、存储模式、变量类型声明、位变量与位寻址、特殊功能寄存器(SFR)、指针类型、函数属性以及扩展关键字。内容涵盖8051系列CPU硬件的直接操作特性,如data/idata/xdata等存储区域定义、small/compact/large三种存储模式选择、bit/sbit/sfr等扩展数据类型,以及中断函数声明和可重入函数实现方法。这些扩展功能为8051单片机开发提供了硬件级控制能力,是掌握Keil转载 2026-06-18 09:34:25 · 10 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】+ 05硬件IIC驱动OLED屏幕
本文介绍了OLED显示技术的基础知识和STM32硬件驱动实现方法。OLED具有轻薄、省电等优势,2007年后寿命显著提升。文章详细讲解了STM32CubeMX软件配置I2C通信的注意事项,包括引脚设置和电平配置。提供了OLED底层驱动函数代码,包括字节发送、命令/数据写入等功能实现。最后展示了OLED显示中文和字符串的示例代码及实物效果。该内容涉及硬件接口配置和软件驱动开发,适用于嵌入式显示应用开发。原创 2026-06-18 09:33:27 · 167 阅读 · 0 评论 -
【NUCLEO-WBA65RI 测评】WBAG5RI开发板硬件代码深度分析---------------------作者:current-hu链接:https://bbs.21ic.com
本文深入分析了基于STM32WBAG5RI开发板的硬件驱动代码实现,重点研究了温湿度传感器驱动、蓝牙定时器管理、低功耗配置等核心模块。代码分析展示了开发板的多项特性:双模式I2C驱动设计(硬件/软件I2C)、完整CRC校验、FPU硬件加速浮点运算;高效的定时器管理系统采用AMM内存管理,支持多定时器并发;灵活的低功耗配置方案实现从4.5mA到350nA的全范围功耗控制。测试数据显示开发板具有出色的外设协同能力(零冲突)、稳定的蓝牙连接性能(最大8个并发连接)和优异的中断响应速度(<2μs)。该开发板集原创 2026-06-18 09:32:28 · 141 阅读 · 0 评论 -
c编译器哪个好?6款c编译器介绍
本文介绍了6款常用的C语言编译器工具,包括Dev-C++、Turbo C、MinGW、WIN-TC、Cygwin和Visual Studio。各编译器特点不同:Dev-C++适合初学者;Turbo C兼容老版本但较陈旧;MinGW是GNU工具集;WIN-TC支持中文界面;Cygwin可模拟Linux环境;Visual Studio功能全面。文章建议根据项目需求和个人编程水平选择合适工具,初学者可优先考虑Dev-C++或WIN-TC,而专业开发推荐Visual Studio或MinGW等现代工具。转载 2026-06-18 09:31:12 · 9 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】2、Sequence
摘要:本文介绍了ST蓝牙方案采用的Sequencer技术,这是一种替代RTOS的轻量级任务调度方案。Sequencer通过任务注册、启用、暂停/恢复等机制管理执行流程,最多支持32个任务,具有优先级设置和空闲任务管理功能。文章以NUCLEO-WBA65RI开发板为例,详细演示了Sequencer的配置流程:初始化序列器、注册任务、设置任务触发条件(示例中使用SysTick中断每400ms触发LED切换任务)。Sequencer优化了裸机系统的任务调度,避免了传统while循环实现的竞态问题,特别适合低功耗场原创 2026-06-18 09:30:27 · 238 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】1、Peer 2 Peer应用
本文介绍了基于STM32WBA开发板的BLE对等互连(P2P)通信实现。通过BLEp2p_Server和BLEp2p_Client两个DEMO程序,展示了NUCLEO-WBA55CG和NUCLEO-WBA65RI开发板之间的BLE通信,包括LED控制和按键状态通知功能。文章详细说明了P2P配置文件的服务特征定义、开发环境搭建、功能测试过程以及关键代码分析,重点解析了LED特征值写入处理和SWITCH通知机制。该方案采用ST专有的128位UUID,实现了GATT服务器与客户端之间的双向数据通信,可作为BLE直原创 2026-06-18 09:29:45 · 154 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】4、驱动三轴数字陀螺仪
本文介绍了基于ST公司L3G4200D三轴数字陀螺仪的I2C驱动实现方案。该陀螺仪具有±250/500/2000dps可选量程、16位ADC和低功耗特性。文章详细说明了硬件连接(I2C地址由SA0引脚决定)、软件配置(使用STM32 HAL库)和数据处理流程,包括:1)通过定时器触发数据采集任务;2)I2C读写寄存器实现;3)陀螺仪初始化配置;4)原始数据转换为角速度(dps和rad/s)的算法。示例代码展示了如何通过1秒间隔定时采集并打印三轴角速度数据,为后续通过蓝牙传输数据奠定了基础。该方案适用于需要运原创 2026-06-17 08:58:14 · 15 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】3、SAI播放声音
本文介绍了基于STM32WBA65I-DK1开发板的音频播放实现方案。主要内容包括:1. SAI外设功能特性,支持多种音频协议和灵活配置;2. 使用MAX98357 D类功放驱动扬声器的硬件连接;3. 通过STM32CuteMX配置SAI和GPDMA参数;4. 详细的程序实现,包含DMA数据传输、缓冲区管理和音频文件处理;5. 音频文件烧录方法。该方案实现了从Flash读取音频数据,通过SAI接口输出到功放播放,展示了STM32 SAI接口的音频应用开发流程。原创 2026-06-17 08:57:28 · 75 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】5、BLE发送通知(notify)
本文介绍了BLE通信中NOTIFY和INDICATE的区别,重点阐述了NOTIFY的工作流程及其在STM32 NUCLEO-WBA65RI开发板上的实现方法。NOTIFY是服务器向客户端单向推送数据的机制,无需客户端确认。文章通过杂志订阅的类比解释了NOTIFY的工作原理,并详细展示了在STM32CubeMX中的配置步骤和关键代码实现,包括陀螺仪数据的采集、格式化及通过NOTIFY发送。最后通过手机蓝牙调试工具验证了数据推送功能,实现了每秒接收6字节陀螺仪数据的功能。原创 2026-06-17 08:56:42 · 92 阅读 · 0 评论 -
5分钟吃透可编程控制器,可编程控制器基本知识介绍
本文介绍了PLC(可编程逻辑控制器)的基础知识,包括其发展历程、基本构成和功能特点。PLC是一种专为工业环境设计的数字运算电子系统,通过可编程存储器执行逻辑运算、顺序控制等功能。文章详细解析了PLC的CPU构成、I/O模块分类、电源模块以及通信联网能力,并对比了PLC与DCS系统的差异。随着工业自动化发展,PLC在顺序控制领域具有不可替代的地位,其通信功能也使其成为现代工业网络的重要组成。转载 2026-06-17 08:55:35 · 14 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】点亮 OLED 12864 显示
本文介绍了使用STM32WBA65RIVx芯片通过高速I2C接口(支持1Mbps速率)驱动OLED显示屏的方法。作者分享了硬件连接方案(基于自制的Arduino扩展板)和关键代码实现,包括I2C读写函数和OLED初始化/清屏/绘图函数。重点展示了如何建立10K显示缓存区实现动态显示效果,如波形和图像动画。文章提供了完整的代码示例,包括I2C通信、OLED初始化和图形绘制等功能模块,为开发者实现高速OLED显示提供了实用参考。原创 2026-06-17 08:54:44 · 123 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】开箱+环境搭建+点灯
本文介绍了意法半导体NUCLEO-WBA65RI开发板的开箱及基础开发流程。该开发板采用STM32WBA65RIVx芯片(Cortex-M33内核,100MHz主频,2MB Flash,512KB SRAM),板载3个用户按键、USB接口、ST-LINK V3调试器和RGB LED。开发环境支持STM32CubeIDE、Keil等工具,演示了通过STM32CubeMX生成Keil工程并配置GPIO引脚的过程。文章详细展示了LED控制代码实现,包括初始化、点亮/熄灭操作及主循环中的LED流水灯效果,其底层通过原创 2026-06-17 08:53:43 · 140 阅读 · 0 评论 -
升压芯片很简单之升压芯片电路设计选型方法
本文总结了升压芯片的常见应用场景(移动设备、医疗器械、LED照明等)及典型选型方案,重点介绍了BT1001-BT2014、YD8001/8002等升压DC/DC转换器型号的关键参数(启动电压、输出范围、电流能力等),涵盖固定/可调输出、同步/异步拓扑等类型,为电子设计中升压芯片的选型提供实用参考。全文通过分类列举帮助工程师快速匹配应用需求。(149字)转载 2026-06-17 08:50:23 · 26 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】+1.开箱点灯3个LED灯
本文介绍了使用STM32 NUCLEO-WBA65RI开发板实现流水灯效果的步骤。作者通过查看原理图确定LED引脚,使用STM32CubeMX配置32MHz外部时钟,并设置LED1-3引脚。在修改主函数和添加LED控制代码后,成功实现了三个LED的流水灯闪烁效果。整个过程涵盖了硬件识别、开发环境配置和基础GPIO控制编程。(99字)原创 2026-06-17 08:48:47 · 153 阅读 · 0 评论 -
[STM32WBA] 【NUCLEO-WBA65RI 测评】- BLE测试
本文介绍了基于STM32WBA65RI开发板的BLE功能测试过程。通过CubeMX配置WPAN模块,设置设备名称和广播数据,初始化BLE协议栈并注册任务。代码实现了通过手机APP控制开发板LED灯的功能:发送"1"点亮LED,发送"0"熄灭LED。文章详细描述了从工程配置、代码修改到烧录测试的完整流程,展示了STM32蓝牙低功耗(BLE)通信的基本实现方法。测试使用ST官方BLE Toolbox APP进行连接和控制,验证了BLE通信功能正常工作。原创 2026-06-17 08:47:40 · 194 阅读 · 0 评论 -
138译码器之74hc138译码器原理+应用方法
本文深入解析74HC138译码器的工作原理及应用方法,重点介绍其在单片机电路设计中的实际应用。文章首先回顾了74HC138的基本功能,即3-8线译码特性,详细说明其6个输入引脚(包括3个使能端)的工作条件。通过LED控制电路实例,阐述了如何利用74HC138配合三极管实现多路LED控制,并给出具体引脚电平设置的真值表。文中还介绍了跳线在电路连接中的重要作用,展示了P1口与ADDR引脚的连接方式。全文通过具体电路分析,帮助读者理解数字逻辑芯片在扩展单片机IO口功能时的应用技巧。转载 2026-06-17 08:45:04 · 19 阅读 · 0 评论 -
[技术讨论] 手动拆解我的ETC机器,算是发挥他最后的价值了
本文记录了作者拆解旧款ETC设备的详细过程。设备采用太阳能充电,包含两节不同功能的锂电池(3.7V锂电池用于存储芯片供电,3.6V工业电池用于刷卡供电),主控采用博通BK8573高度集成芯片。拆解发现设备具有防拆开关、LCD显示屏、RFID读卡触点等组件,并分析了其电路板结构及功能模块。通过拆解,作者揭示了这款"老古董"ETC的内部构造和工作原理,展现了电子设备拆解的趣味性。该设备虽已淘汰,但拆解过程既满足了技术好奇心,又让其发挥了最后的科普价值。原创 2026-06-16 09:13:19 · 41 阅读 · 0 评论
分享