摘要: W55MH32和小智聊天机器人 随着AI技术持续快速发展,将智能模型集成到低级硬件架构上变得比以往任何时候都更加重要。在WIZnet,我们确保我们的产品能够跟上当前的技术发展,为客户提供更好的体验。​ 受小智-ESP32项目的启发,我们开发了由W55MH32Q/L-EVB开发板驱动的MCP聊天机器人。 阅读全文
posted @ 2026-09-03 18:53 FreakStudio 阅读(14) 评论(0) 推荐(0)
摘要: 终于搞懂了!EEPROM 也能挂文件系统,MicroPython 让 AT24C256 像 SD 卡一样读写文件 我们需要将**`风雅一号板-环境与存储采集板`**插入到**`风雅一号板-通用兼容扩展板`**上,同时打开**`风雅一号板-环境与存储采集板`**上 `SWITCH1` 拨码开关的 `SCL` 和 `SDA` 选项: 阅读全文
posted @ 2026-09-03 18:43 FreakStudio 阅读(18) 评论(0) 推荐(0)
摘要: 深度刨析 SD 卡:从结构原理、卡协议、电路到MicroPython驱动实现和文件系统挂载 SD 卡是一种广泛应用于数码设备的可移除存储设备,具有小型化、低功耗和大容量的特点,它主要用于存储数据、音乐、视频、图像等信息,广泛应用于手机、相机、平板电脑、嵌入式设备等。 阅读全文
posted @ 2026-09-03 18:33 FreakStudio 阅读(15) 评论(0) 推荐(0)
摘要: MicroPython 简易块设备类实现:手把手教你从抽象接口到挂载 FAT 文件系统 前面我们讲到,MicroPython 没有提供块设备的操作方法,但是提供了一个抽象的块设备接口类,我们自定义块设备操作类需要符合 `vfs.AbstractBlockDev` 抽象类中定义的接口,才能实现在虚拟文件系统(VFS)中操作文件和存储设备。 阅读全文
posted @ 2026-09-03 17:53 FreakStudio 阅读(10) 评论(0) 推荐(0)
摘要: MicroPython 项目必备!uLogLite-手把手教你写带级别 / 轮转 / 过滤的日志模块 在以下代码中,我们使用自定义类实现一个日志记录模块,能够实现如下功能: 阅读全文
posted @ 2026-09-03 17:28 FreakStudio 阅读(7) 评论(0) 推荐(0)
摘要: MicroPython 文件读写入门教程:树莓派 Pico 温度数据记录实战 在如下代码中,我们使用 MicroPython 中的 `os` 模块进行文件读写的例程,该代码从 `ADC` 内部温度传感器读取数据并将其写入文件,同时我们对文件中数据进行读取。 阅读全文
posted @ 2026-09-03 17:08 FreakStudio 阅读(7) 评论(0) 推荐(0)
摘要: MicroPython 文件系统软件控制方法:os 模块、vfs 模块与块设备抽象类 API 全解析 os 模块提供了如下方法,用于文件读写、目录创建等操作: 阅读全文
posted @ 2026-09-03 17:00 FreakStudio 阅读(12) 评论(0) 推荐(0)
摘要: 全网独一份!MicroPython 存储 + 文件系统底层原理,新手也能看懂的完整指南 在学习 MicroPython 的过程中,了解它的 “存储区域” 就像搞清楚我们的程序 “住” 在哪里、不同数据 “放” 在哪个柜子里,只有知道数据的存放规则,才能避免写出内存溢出、数据莫名出错的代码,也能理解程序运行的底层逻辑。 阅读全文
posted @ 2026-09-03 16:53 FreakStudio 阅读(18) 评论(0) 推荐(0)
摘要: 扒透树莓派 Pico 存储底层!ROM/SRAM/Flash 全解析(保姆级教程) 这里,我们先先充几个核心 “映射” 概念(这是存储器访问的基础),再讲解存储器和 SRAM 的地址映射表,芯片里的资源(内存、寄存器、外设)要被访问,必须先 “编门牌号”,这就是 “映射” 的本质: 阅读全文
posted @ 2026-09-03 16:45 FreakStudio 阅读(16) 评论(0) 推荐(0)
摘要: 嵌入式入门必备:单片机存储结构详解,主存 / 外部内存 / 地址空间全解析 在之前的课程中,我们已经编写了一些运行在树莓派 Pico 开发板上的 MicroPython 程序,并且使用 PyCharm 的 MicroPython 插件将编写好的代码上传到开发板(即烧录程序),代码上传后,MicroPython 虚拟机会将其编译为字节码,虚拟机的解释器也会逐行解释字节码并将其转换为低级指令,与 MCU 的硬件资源进行交互。 阅读全文
posted @ 2026-09-03 16:37 FreakStudio 阅读(23) 评论(0) 推荐(0)
摘要: 基于 MicroPython+DMA 链式触发的 Scatter-Gather 数据聚合实现 在以下代码中,我们通过 DMA 传输的机制(链式触发和写入触发寄存器)实现了将多个字符串拼接到一个内存缓冲区中的操作,即 `Scatter-gather` 数据聚合操作,将多个固定大小的内存块聚集到一个内存空间中。 阅读全文
posted @ 2026-09-03 16:27 FreakStudio 阅读(8) 评论(0) 推荐(0)
摘要: MicroPython ADC 采样拖慢主循环?试试 DMA + 乒乓缓冲,全程解放 CPU 在下面实验中,我们需要将**`风雅一号板-Grove接口扩展板`**插入到**`风雅一号板-通用兼容扩展板`**上,同时使用 `PH2.0-4P` 接线连接**`风雅一号板-Grove接口扩展板`**的 `AIN0` 接口和**`GraftSense-滑动变阻器模块`**上的模拟输出接口: 阅读全文
posted @ 2026-09-03 16:17 FreakStudio 阅读(9) 评论(0) 推荐(0)
摘要: 深度解析 RP2040 DMA 应用:MicroPython 下 UART 零 CPU 干预数据传输 在以下代码中,我们自定义了一个 `DMA_UART_Tx` 类,它用于在树莓派 Pico 上通过 `UART` 和 `DMA` 进行高效的串口数据发送,`DMA` 将数据从源地址(内存)传输到目的地址( `UART` 数据寄存器)中。 阅读全文
posted @ 2026-09-03 16:02 FreakStudio 阅读(8) 评论(0) 推荐(0)
摘要: 【保姆级教程】用 MicroPython+DMA 实现 RP2040 内存到内存数据传输 以下代码可以在我们提供的资料包中的 `elegance-devkit v1\Demo\66 DMA_MemoryToMemory` 文件夹中找到。 阅读全文
posted @ 2026-09-03 15:48 FreakStudio 阅读(10) 评论(0) 推荐(0)
摘要: 一文搞懂 rp2.DMA 软件控制!API 详解 + 配置避坑指南 rp2.DMA 类的构造方法如下: 阅读全文
posted @ 2026-09-03 15:42 FreakStudio 阅读(9) 评论(0) 推荐(0)
摘要: 【万字长文】树莓派 Pico DMA 底层全解析!从寄存器到链式传输,一次讲透! RP2040 的 DMA 控制器具有独立的读写主控连接,它们分别与芯片的总线结构相连接,允许 DMA 进行并行的读写操作。具体架构特点如下 阅读全文
posted @ 2026-09-03 15:35 FreakStudio 阅读(28) 评论(0) 推荐(0)
摘要: 一文读懂 DMA:工作流程、传输模式与典型应用场景汇总 在传统的数据传输方式中,单片机的 CPU 负责从一个外设(如 I2C、串口、ADC 等)读取数据并将其存储到内存中,或者从内存中读取数据并写入到外设中。这种方法需要 CPU 不断地处理读写操作,容易造成 CPU 负载过高,影响系统的整体性能。 阅读全文
posted @ 2026-09-03 15:16 FreakStudio 阅读(49) 评论(0) 推荐(0)
摘要: 一文搞懂:MicroPython 中 AD9833 与 MCP41010 实现幅度可调的 DDS 信号发生器 在以下代码中,我们自定义了一个 AD9833 类用于控制 AD9833 波形发生器芯片,它通过 SPI 通信协议向 AD9833 发送配置命令以生成所需的波形。 阅读全文
posted @ 2026-09-03 15:03 FreakStudio 阅读(25) 评论(0) 推荐(0)
摘要: 嵌入式开发进阶:MicroPython 下 DS3502 的快速写入模式与波形生成技巧 * **​初始化​`__init__`**​**​方法:​**这里,我们仅需要传入 I2C 接口对象和 DS3502 的 I2C 地址,我们首先进行地址范围检查,确保地址在 `0x28` 到 `0x2B` 之间(即二进制在 0101000 到 0101011 之间),否则抛出 `ValueError` 异常;同时保存 I2C 对象和地址,并初始化 `mode` 为 `0`,`mode` 控制写入数据的模式,`0` 表示慢速模式,`1` 表示快速模式。 阅读全文
posted @ 2026-09-03 14:40 FreakStudio 阅读(9) 评论(0) 推荐(0)
摘要: 一文搞懂 MCP4725 波形发生器:MicroPython 代码实现、定时器驱动与调试流程全梳理 在以下代码中,在树莓派 Pico 上使用 DAC 芯片 `MCP4725` 生成不同的波形信号,并通过串口输出 ADC 采集的波形电压值,元器件接线和上节内容一样: 阅读全文
posted @ 2026-09-03 14:27 FreakStudio 阅读(7) 评论(0) 推荐(0)
摘要: 从代码到项目:MicroPython+MCP4725 自定义类实现信号发生器功能的完整流程 **`初始化方法__init__()`​:​**在构造函数中初始化 MCP4725 的 I2C 通信和地址,并创建用于写入的缓冲区,这里,通过 `bytearray` 创建两个字节的连续内存区域,将数据打包成字节流发送。 * **实现写入DAC**​​**的输出值方法 ​`write()`**​**​:​**首先将输入值限制在 0 到 4095 的范围内,然后将高 8 位和低 8 位分别存入 `_writeBuffer` 缓冲区,最后通过 I2C 总线将缓冲区数据写入 DAC * **实现从DAC**​​**读取数据的方法 ​`read()`**​**​:​**从 DAC 读取 5 个字节的数据,包括 EEPROM 写入忙碌状态、当前和 EEPROM 中的电源关断模式、当前和 EEPROM 中的输出值,最后以元组的形式返回。 阅读全文
posted @ 2026-09-03 14:18 FreakStudio 阅读(10) 评论(0) 推荐(0)
摘要: 从原理到驱动:MCP41010 数字电位器的 SPI 通信流程与实战应用 MCP41010 是一款单通道、8 位分辨率的数字电位器,具有 10 kΩ、50 kΩ 和 100 kΩ 的电阻版本,采用 SPI 接口进行控制: 阅读全文
posted @ 2026-09-03 14:08 FreakStudio 阅读(24) 评论(0) 推荐(0)
摘要: 从机械到数字:DS3502 如何解决传统电位器的精度、漂移与自动化痛点 前面我们说到,AD9833 芯片输出正弦波和三角波时波形幅度为 38mV\~650mV,当我们需要波形幅度更大的正弦波和三角波时,需要借助运算放大器来增强幅度,常见的运算放大电路有同相放大电路和反相放大电路两种,如下图所示: 阅读全文
posted @ 2026-09-03 12:26 FreakStudio 阅读(21) 评论(0) 推荐(0)
摘要: 嵌入式 DDS 进阶:AD9833 从芯片手册到驱动实现,SPI 通信与频率计算详解 AD9833 是由 Analog Devices 公司生产的一款低功耗数字波形发生器(DDS)芯片。它专为需要精确频率和相位控制的应用而设计,能够生成正弦波、三角波和方波,AD9833 常用于如信号源、测试设备等。 阅读全文
posted @ 2026-09-03 12:18 FreakStudio 阅读(23) 评论(0) 推荐(0)
摘要: MCP4725 芯片手册深度解读:引脚、寄存器、工作模式与应用电路全梳理 MCP4725 是 Microchip 公司生产的一款单通道 12 位数字-模拟转换器 (DAC),具有非易失性 EEPROM 存储功能,它广泛用于需要精确模拟信号输出的应用中,如音频信号生成、传感器信号调节和电压基准调节。 阅读全文
posted @ 2026-09-03 12:09 FreakStudio 阅读(22) 评论(0) 推荐(0)
摘要: 一文讲透 DDS 数字合成:定义、原理、核心模块与频率公式 在实际应用中,我们通常希望输出一个模拟信号,例如设定频率的正弦波或方波等,而非离散的电压值。我们可以使用 DAC 输出一个预先定义好的数字信号,**但是通过 DAC 直接生成的信号**​**波形**​**,其频率、幅度等特性通常是固定的或受限的;如果需要改变波形,通常需要重新生成和加载新的数字数据,这个过程比较慢,不太适合实时动态变化的应用场景。** 阅读全文
posted @ 2026-09-03 11:59 FreakStudio 阅读(19) 评论(0) 推荐(0)
摘要: DAC 数模转换详解:工作原理、性能参数、电路类型与实际应用 数模转换器(DAC, Digital-to-Analog Converter)是将数字信号转换为模拟信号的电子装置。DAC 广泛应用于音频设备、信号处理、通信系统、测量仪器等领域,用于将处理后的数字信号还原为模拟信号。 阅读全文
posted @ 2026-09-03 11:51 FreakStudio 阅读(41) 评论(0) 推荐(0)
摘要: MicroPython+ ADS1115 硬件与代码手册:I2C 通信、驱动实现、采样触发与滤波处理 在下面实验中,我们需要将**`风雅一号板-数据转换板`**插入到**`风雅一号板-通用兼容扩展板`**上,同时打开**`风雅一号板-数据转换板`**上 `SWITCH1` 拨码开关的 `SCL`、`SDA` 和 `RDY` 选项: 阅读全文
posted @ 2026-09-03 11:40 FreakStudio 阅读(9) 评论(0) 推荐(0)
摘要: 嵌入式 ADC 进阶实战:Pico 摇杆实验的硬件结构、接线与面向对象代码全梳理 摇杆模块通常是一个包含两个电位器(用于 X 轴和 Y 轴的模拟电压信号)和一个按钮开关的电子模块。它广泛用于游戏控制器、机器人控制和各种嵌入式项目中,用于获取二维方向输入和按键按下的状态。 阅读全文
posted @ 2026-09-03 11:23 FreakStudio 阅读(13) 评论(0) 推荐(0)
摘要: 从硬件到代码:Pico 模拟电位器 ADC 采集实战(含 LED 控制与 SerialPlot 串口波形采集) 模拟电位器是电子设备中常见的组件,用于调整电压或电流。它通过物理旋转来改变电阻值,从而改变输出信号的强度。简单来说,**电位器是一个可调**​**电阻器**​**,通常有三个**​**引脚**​**:两个外侧引脚连接到电阻器的两端,中间引脚(滑动触点)可以移动,从而改变与电阻器两端的接触点位置**;当旋转电位器时,中间引脚与两端引脚之间的电阻会发生变化。这可以用来调整电压分布,从而实现对输出信号的控制。 阅读全文
posted @ 2026-09-03 11:14 FreakStudio 阅读(20) 评论(0) 推荐(0)
摘要: 全网最详细|树莓派 Pico ADC 软件控制全解析:从machine.ADC API 到定时温度采集实战(含 ISR 避坑指南) * 使用树莓派 Pico 的 ADC 外设时,在构造方法中,只能使用整数 id 号进行(即 ADC 通道号) * 树莓派 Pico 的 ADC 类中有一个 `CORE_TEMP` 属性,用于指定访问内置温度传感器的特定 ADC 通道: 阅读全文
posted @ 2026-09-03 11:03 FreakStudio 阅读(152) 评论(0) 推荐(0)