[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"consumer-news-detail-919":3,"consumer-news-interaction-919":39,"consumer-news-related-919":42},{"detail":4,"item":35},{"card":5,"schemaVersion":22,"fields":23,"content":29},{"id":6,"kind":7,"targetType":8,"targetId":9,"subtype":7,"typeLabel":10,"title":11,"subtitle":12,"summary":13,"coverUrl":14,"badgeText":15,"href":16,"sourceName":12,"meta":17,"metrics":19,"tags":20,"resolved":21},"NEWS_ARTICLE:919","news","NEWS_ARTICLE",919,"资讯","MicroPython 开发避坑：用 Signal 类解决不同电路的电平兼容问题","博客园","在以下例程中，我们通过 Signal 类控制两个不同电路连接的 LED 灯，其中 `GP17` 连接的 LED 灯负极连接到了地，对应 GPIO 输出高电平点亮；而 `GP16` 连接的 LED 灯正极连接到了 `+3V3`，对应 GPIO 输出低电平点亮。我们通过 `Signal` 类来包装现有的","http:\u002F\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002Fad2af538-1ed7-46d9-a676-f8cdceefd7a1.png","","\u002Fnews\u002F919",[18],"2026",{},[],true,"consumer-content-detail-v1",{"sourceName":12,"authorName":24,"summary":13,"description":13,"publishTime":25,"updateTime":26,"sourceUrl":27,"language":28},"FreakStudio","2026-08-30T10:31","2026-09-02T20:37:56","https:\u002F\u002Fwww.cnblogs.com\u002FFreakEmbedded\u002Fp\u002F22760492","中文",{"format":30,"policy":31,"normalized":21,"html":32,"text":33,"wordCount":34,"hasBody":21},"HTML","NEWS_CONTENT_V1","推文\n\u003Cp>在下面实验中，我们需要将 \u003Cstrong>\u003Ccode>风雅一号板-七彩触控扩展板\u003C\u002Fcode>\u003C\u002Fstrong> 插入到 \u003Cstrong>\u003Ccode>风雅一号板-通用兼容扩展板\u003C\u002Fcode>\u003C\u002Fstrong> 上：\u003Cbr>\u003Cimg alt=\"01.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002Fad2af538-1ed7-46d9-a676-f8cdceefd7a1.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Cp>在以下例程中，我们通过 Signal 类控制两个不同电路连接的 LED 灯，其中 \u003Ccode>GP17\u003C\u002Fcode> 连接的 LED 灯负极连接到了地，对应 GPIO 输出高电平点亮；而 \u003Ccode>GP16\u003C\u002Fcode> 连接的 LED 灯正极连接到了 \u003Ccode>+3V3\u003C\u002Fcode>，对应 GPIO 输出低电平点亮。我们通过 \u003Ccode>Signal\u003C\u002Fcode> 类来包装现有的 \u003Ccode>Pin\u003C\u002Fcode> 对象，最终实现通过相同方法控制 \u003Ccode>LED\u003C\u002Fcode> 灯的点亮。\u003C\u002Fp>\n\u003Cp>代码如下：\u003C\u002Fp>\n\u003Cpre>\u003Ccode># Python env   : MicroPython v1.23.0\n# -*- coding: utf-8 -*-        \n# @Time    : 2024\u002F6\u002F21 上午10:32   \n# @Author  : 李清水            \n# @File    : main.py       \n# @Description : Signal类实验，完成对两个不同电路连接的LED进行控制\n\n# ======================================== 导入相关模块 ========================================\n\n# 硬件相关的模块\nfrom machine import Pin, Signal\n# 时间相关的模块\nimport time\n\n# ======================================== 全局变量 ============================================\n\n# ======================================== 功能函数 ============================================\n\n# ======================================== 自定义类 ============================================\n\n# ======================================== 初始化配置 ==========================================\n\n# 上电延时\ntime.sleep(3)\n# 打印调试信息\nprint(\"FreakStudio : Signal Class Test\")\n\n# 设置GPIO 17为LED1（共阳极）输出引脚，下拉电阻使能\nLED1_Pin = Pin(17, Pin.OUT, Pin.PULL_DOWN)\n# 设置GPIO 16为LED2（共阴级）输出引脚，下拉电阻使能\nLED2_Pin = Pin(16, Pin.OUT, Pin.PULL_DOWN)\n\n# ========================================  主程序  ============================================\n\n# 不使用Signal类，直接使用Pin类时需要考虑外部电路的差异，输入不同电平来点亮LED灯\n# LED1输入高电平点亮\nLED1_Pin.value(1)\n# LED2输入低电平点亮\nLED2_Pin.value(0)\n\n# 使用Signal类包装现有的Pin对象\n# 对于LED1_Pin不使用反转，高电平-1、低电平-0\nLED1 = Signal(LED1_Pin, invert=False)\n# 对于LED2_Pin使用反转，高电平-0、低电平-1\nLED2 = Signal(LED2_Pin, invert=True)\n\n# 现在可以使用一个方法进行两个LED灯的点亮\nLED1.on()\nLED2.on()\n\n# 等待5秒\ntime.sleep(5)\n\n# 获取信号状态\nprint(\"LED 1 value :\", LED1.value())\nprint(\"LED 2 value :\", LED2.value())\n\n# 获取引脚状态\nprint(\"LED1_Pin value :\", LED1_Pin.value())\nprint(\"LED2_Pin value :\", LED2_Pin.value())\n\n# 关闭两个LED灯\nLED1.off()\nLED2.off()\n\n# 等待1秒\ntime.sleep(1)\n\n# 获取信号状态\nprint(\"LED 1 value :\", LED1.value())\nprint(\"LED 2 value :\", LED2.value())\n\n# 获取引脚状态\nprint(\"LED1_Pin value :\", LED1_Pin.value())\nprint(\"LED2_Pin value :\", LED2_Pin.value())\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>烧录代码，打开终端，使用 mpremote 连接树莓派 Pico，可以看到输出如下：\u003Cbr>\u003Cimg alt=\"02.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002Fb2d53a61-c2d8-48fc-b175-75c642d542e7.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Cp>我们可以看到 \u003Cstrong>\u003Ccode>风雅一号板-七彩触控扩展板\u003C\u002Fcode>\u003C\u002Fstrong> 上的 \u003Ccode>HIGHLED\u003C\u002Fcode> 和 \u003Ccode>LOWLED\u003C\u002Fcode> 先同时点亮，之后同时关闭：\u003Cbr>\u003Cimg alt=\"03.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002F51294920-0204-499f-8bad-7b62ef3bdf05.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Cp>\u003Cimg alt=\"04.png\" src=\"https:\u002F\u002Fi1.wp.com\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002Fd0642a2d-7844-4845-9433-9634c6931ef7.png?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>\n\u003Cp>\u003Cimg alt=\"05.gif\" src=\"https:\u002F\u002Fi1.wp.com\u002Fopenwrite.cn\u002Fuploads\u002F21597\u002F62896\u002F576e9c4b-4140-4100-b377-d548520e1d56.gif?w=720&amp;quality=65&amp;strip=all\">\u003C\u002Fp>","推文 在下面实验中，我们需要将 风雅一号板-七彩触控扩展板 插入到 风雅一号板-通用兼容扩展板 上： 在以下例程中，我们通过 Signal 类控制两个不同电路连接的 LED 灯，其中 GP17 连接的 LED 灯负极连接到了地，对应 GPIO 输出高电平点亮；而 GP16 连接的 LED 灯正极连接到了 +3V3，对应 GPIO 输出低电平点亮。我们通过 Signal 类来包装现有的 Pin 对象，最终实现通过相同方法控制 LED 灯的点亮。 代码如下： # Python env : MicroPython v1.23.0 # -*- coding: utf-8 -*- # @Time : 2024\u002F6\u002F21 上午10:32 # @Author : 李清水 # @File : main.py # @Description : Signal类实验，完成对两个不同电路连接的LED进行控制 # ======================================== 导入相关模块 ======================================== # 硬件相关的模块 from machine import Pin, Signal # 时间相关的模块 import time # ======================================== 全局变量 ============================================ # ======================================== 功能函数 ============================================ # ======================================== 自定义类 ============================================ # ======================================== 初始化配置 ========================================== # 上电延时 time.sleep(3) # 打印调试信息 print(\"FreakStudio : Signal Class Test\") # 设置GPIO 17为LED1（共阳极）输出引脚，下拉电阻使能 LED1_Pin = Pin(17, Pin.OUT, Pin.PULL_DOWN) # 设置GPIO 16为LED2（共阴级）输出引脚，下拉电阻使能 LED2_Pin = Pin(16, Pin.OUT, Pin.PULL_DOWN) # ======================================== 主程序 ============================================ # 不使用Signal类，直接使用Pin类时需要考虑外部电路的差异，输入不同电平来点亮LED灯 # LED1输入高电平点亮 LED1_Pin.value(1) # LED2输入低电平点亮 LED2_Pin.value(0) # 使用Signal类包装现有的Pin对象 # 对于LED1_Pin不使用反转，高电平-1、低电平-0 LED1 = Signal(LED1_Pin, invert=False) # 对于LED2_Pin使用反转，高电平-0、低电平-1 LED2 = Signal(LED2_Pin, invert=True) # 现在可以使用一个方法进行两个LED灯的点亮 LED1.on() LED2.on() # 等待5秒 time.sleep(5) # 获取信号状态 print(\"LED 1 value :\", LED1.value()) print(\"LED 2 value :\", LED2.value()) # 获取引脚状态 print(\"LED1_Pin value :\", LED1_Pin.value()) print(\"LED2_Pin value :\", LED2_Pin.value()) # 关闭两个LED灯 LED1.off() LED2.off() # 等待1秒 time.sleep(1) # 获取信号状态 print(\"LED 1 value :\", LED1.value()) print(\"LED 2 value :\", LED2.value()) # 获取引脚状态 print(\"LED1_Pin value :\", LED1_Pin.value()) print(\"LED2_Pin value :\", LED2_Pin.value()) 烧录代码，打开终端，使用 mpremote 连接树莓派 Pico，可以看到输出如下： 我们可以看到 风雅一号板-七彩触控扩展板 上的 HIGHLED 和 LOWLED 先同时点亮，之后同时关闭：",1873,{"id":6,"kind":7,"title":11,"summary":13,"image":14,"href":16,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":38},"#2563eb","16 \u002F 10",[7,8],{"targetType":8,"targetId":9,"likedByMe":40,"likeCount":41,"commentCount":41,"contentLikeCount":41,"contentCommentCount":41,"sourceLikeCount":41,"sourceCommentCount":41},false,0,[43,52,58,65,73,80,86,93],{"id":44,"kind":7,"title":45,"summary":46,"image":47,"href":48,"meta":49,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":50},"NEWS_ARTICLE:827","MHS 三部曲（下）：谁允许 AI 行动？——权力、合规与中国厂商的答卷","我们总在等待一个像 ChatGPT 那样的机器人时刻。但具身智能真正的拐点，也许先发生在更不起眼的地方：一台陌生设备，第一次能把自己的能力、状态和边界完整告诉 AI；一个 Agent，第一次能把试出来的经验固化成可验证、可复用的机器技能。","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F510\u002F202608\u002F510-20260830153745229-1536981088.jpg","\u002Fnews\u002F827","2026 · 人工智能",[51],"人工智能",{"id":53,"kind":7,"title":54,"summary":55,"image":15,"href":56,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":57},"NEWS_ARTICLE:829","我不会美工，用 WorkBuddy 1 分钟做出 4 张海报","先说结果：下面这 4 张海报，从我发出指令到拿到图片，大约 1 分钟。 我不会美工，也没有打开 Photoshop。用的工具，是我之前用 WorkBuddy 做的一个海报生成器。这个生成器本身也没花几分钟，具体开发过程我在上一篇文章里写过。 这次我把海报生成器的网址、产品截图和要求一起发给 Work","\u002Fnews\u002F829",[7,8],{"id":59,"kind":7,"title":60,"summary":61,"image":62,"href":63,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":64},"NEWS_ARTICLE:828","一个人抵一个团队的时代，企业级 AI Agent 还需要做什么？","对于企业而言，真正需要的，不是一个“会聊天”的 Agent，而是一套能被多用户、多场景复用，且权限清晰、过程可审计、成本可控制的 Agent 能力体系。","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F2232255\u002F202609\u002F2232255-20260902173524728-659996478.png","\u002Fnews\u002F828",[7,8],{"id":66,"kind":7,"title":67,"summary":68,"image":15,"href":69,"meta":70,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":71},"NEWS_ARTICLE:832","用 runtime-async 写一个支持 async\u002Fawait 的轻量脚本引擎","起因：一个好奇 事情的开头很简单。 给 .NET 做过动态脚本的人大概都碰到过同一堵墙：表达式树也好、Reflection.Emit 也好，都很难支持 async\u002Fawait。原因不在语法，而在 await 的实现方式——C# 编译器要为每个 async 方法生成一个状态机结构体，把方法体切成若干片","\u002Fnews\u002F832","2026 · 软件开发",[72],"软件开发",{"id":74,"kind":7,"title":75,"summary":76,"image":77,"href":78,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":79},"NEWS_ARTICLE:831","Agent Sandbox 规模化：JuiceFS 探索与实践","过去一段时间，我们在和云厂商以及 Agent 团队推进 Sandbox 落地时，除了要解决数据如何进入 Sandbox，还需要考虑任务所需的数据和执行过程中产生的数据，如何跨任务、跨阶段持续使用。Sandbox 可以随任务快速创建和销毁，但数据往往需要继续保留、共享和流转。 当 Sandbox 并发","https:\u002F\u002Fimg2024.cnblogs.com\u002Fblog\u002F2544292\u002F202609\u002F2544292-20260902171045357-1907499098.png","\u002Fnews\u002F831",[7,8],{"id":81,"kind":7,"title":82,"summary":83,"image":15,"href":84,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":85},"NEWS_ARTICLE:830","百智云长期记忆服务：长期记忆与上下文窗口的区别","很多人在接触 AI 长期记忆时，第一反应是：「这不就是把聊天记录存起来吗？」其实这是一个很常见的误解。今天我们把「长期记忆」和「上下文窗口」这两个概念彻底讲清楚。 一、什么是上下文窗口 上下文窗口（Context Window）是模型在单次推理时能「看到」的文本上限。它像一个临时的工作台：模型只能处","\u002Fnews\u002F830",[7,8],{"id":87,"kind":7,"title":88,"summary":89,"image":90,"href":91,"meta":49,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":92},"NEWS_ARTICLE:835","体验向量数据库 qdrant","作者:张富春(ahfuzhang)，转载时请注明作者和引用链接，谢谢！ cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 背景 为了早点搞懂公司的百万行 C# 的祖传代码，我想在缺乏文档、缺乏帮手的情况下，先建立一个 企业知识库 来快速帮我理清头绪。 一开始，我是打算以 weav","https:\u002F\u002Fimg2022.cnblogs.com\u002Fblog\u002F1457949\u002F202202\u002F1457949-20220216153819145-1193738712.png","\u002Fnews\u002F835",[51],{"id":94,"kind":7,"title":95,"summary":96,"image":15,"href":97,"meta":18,"badge":10,"author":12,"stats":-1,"accent":36,"coverRatio":37,"tags":98},"NEWS_ARTICLE:833","如何利用AI技术实现漫画翻译","漫画作为图文结合的特色文化载体，承载着各国潮流文化与人文故事，但跨语言的文字壁垒，长期制约着漫画的传播与交流。传统漫画翻译高度依赖人工操作，需要人工框选文字、擦除原图文字、翻译文案、排版适配画风，流程繁琐、耗时费力，且极易出现排版错乱、画风违和、语义偏差等问题。 随着深度学习、计算机视觉与大模型技术","\u002Fnews\u002F833",[7,8]]