Token导航 LogoToken导航TokenDH.com
效率只读clawhub未标认证来源可访问clear审计通过

embedded-dev嵌入式开发

Agent Skill

embedded-dev 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,477

周安装

262

GitHub Stars

公开资料未说明

下载量

2,033
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:embedded-dev(嵌入式开发)
来源仓库:https://github.com/zzz-pinking/embedded-dev
安装命令:
openclaw skills install embedded-dev
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install embedded-dev

简介

单片机嵌入式全栈开发技能,覆盖从底层硬件到上层应用的全链路技术问题。当用户询问嵌入式开发、微控制器、RTOS、电机控制、传感器接口、固件编写、调试上线等任何软硬件相关问题时应调用此技能。

SKILL.md

name
embedded-dev
description
单片机嵌入式全栈开发技能,覆盖从底层硬件到上层应用的全链路技术问题。当用户询问嵌入式开发、微控制器、RTOS、电机控制、传感器接口、固件编写、调试上线等任何软硬件相关问题时应调用此技能。

Embedded Dev Skill

单片机嵌入式全栈开发技能,掌握从芯片底层到产品上层的全链路知识。

技能范围

  • 主流 MCU 架构(ARM Cortex-M、RISC-V、8051、AVR、ESP32、STM32)
  • 外设驱动开发(GPIO、UART、I2C、SPI、ADC、PWM、Timer、CRC 等)
  • 嵌入式C语言与汇编优化
  • RTOS(FreeRTOS/RT-Thread/Zephyr)任务调度与进程间通信
  • 有线/无线通信协议(UART、SPI、I2C、CAN、Modbus、RS485、LoRa、BLE、WiFi)
  • 传感器与执行器接口(I2C/SPI 传感器、电机驱动、PWM 控制)
  • 底层调试(JTAG/SWD、逻辑分析仪、示波器、printf 调试)
  • 硬件原理图与 PCB 设计基础
  • 固件架构(模块化设计、状态机、事件驱动)
  • OTA 升级与 bootloader
  • 低功耗设计
  • 嵌入式 Linux(树莓派/全志/TI/NXP)基础

工作流程

遇到嵌入式问题时,按以下步骤处理:

  1. 明确硬件平台 — 确认 MCU 型号、时钟配置、电源环境
  2. 定位问题层级 — 硬件层/驱动层/RTOS层/应用层/通信层
  3. 查参考文件 — 根据问题类型加载对应 reference 文件
  4. 给出完整解答 — 包含代码示例(寄存器配置/C语言/驱动)、接线图要点、调试方法

Reference 文件索引

  • references/mcu-architectures.md — 主流 MCU 架构对比与选型
  • references/peripherals.md — 外设驱动开发手册(GPIO/UART/I2C/SPI/ADC/PWM)
  • references/embedded-c.md — 嵌入式C语言编程规范与技巧
  • references/rtos.md — RTOS 实战(任务/队列/信号量/内存)
  • references/communication-protocols.md — 通信协议对比与实现
  • references/debugging.md — 硬件/软件调试方法与工具
  • references/hardware-design.md — 原理图/PCB 设计要点
  • references/firmware-dev.md — 固件架构与 OTA 升级

常用代码模板

GPIO 配置(STM32 HAL 风格)

// 配置 PB0 为推挽输出
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);  // 输出高
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);  // 输出低
// 读取 PA1
GPIO_PinState state = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1);

UART 中断接收(轮询+中断混合)

uint8_t rx_buf[64];
volatile uint8_t rx_len = 0;
void USART1_IRQHandler(void) {
    if (USART->SR & USART_SR_RXNE) {
        rx_buf[rx_len++] = USART->DR;
    }
}

I2C 传感器读取(示例:MPU6050)

void I2C_WriteReg(uint8_t addr, uint8_t reg, uint8_t val) {
    I2C_Start();
    I2C_SendAddr(addr << 1);
    I2C_SendByte(reg);
    I2C_SendByte(val);
    I2C_Stop();
}
uint8_t I2C_ReadReg(uint8_t addr, uint8_t reg) {
    I2C_Start();
    I2C_SendAddr(addr << 1 | 0);
    I2C_SendByte(reg);
    I2C_RepeatedStart();
    I2C_SendAddr(addr << 1 | 1);
    uint8_t val = I2C_RecvByte(NACK);
    I2C_Stop();
    return val;
}

FreeRTOS 任务创建

void sensor_task(void *arg) {
    while (1) {
        float temp = read_temperature();
        xQueueSend(temp_queue, &temp, portMAX_DELAY);
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}
xTaskCreate(sensor_task, "Sensor", 512, NULL, 2, &sensor_handle);

PWM 电机控制

// 配置 TIM3 CH2 (PB5) PWM 50Hz
void Motor_PWM_Init(void) {
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_OCInitTypeDef TIM_OCInitStructure;
    // 72MHz / 720 => 100kHz, 100kHz / 2000 => 50Hz
    TIM_TimeBaseStructure.TIM_Period = 2000 - 1;   // ARR
    TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1;   // PSC
    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
    TIM_OCInitStructure.TIM_Pulse = 1500;  // 占空比 75%
    TIM_OC2Init(TIM3, &TIM_OCInitStructure);
    TIM_Cmd(TIM3, ENABLE);
}
// 设置速度 0~100%
void Motor_SetSpeed(uint8_t speed) {
    TIM3->CCR2 = (speed * 20);  // 0-2000
}

常用调试命令

# OpenOCD + ST-Link 调试
openocd -f interface/stlink.cfg -f target/stm32f1x.cfg

# JLink GDB Server
JLinkGDBServer -if SWD -device STM32F103RC

# 逻辑分析仪(Saleae 协议)
sigrok-cli -d saleae-logic16 --channels 1,2,3,4 -o capture.sr

# 串口查看
minicom -b 115200 -D /dev/ttyUSB0
screen /dev/ttyUSB0 115200

常见问题速查

问题常见原因解决方案
I2C 无响应地址错误/未接上拉/SCL被占用用逻辑仪确认 SDA/SCL 波形
UART 乱码波特率不匹配/电平不匹配示波器检查波特率
PWM 无输出时钟未使能/IO复用错误检查 TIM_EN 和 AFIO 配置
程序跑飞堆栈溢出/看门狗未喂狗减小堆栈/加看门狗
OTA 升级失败Flash 偏移地址错误/签名校验失败确认 bootloader 大小配置
低功耗电流大未关闭未用外设时钟/LDO功耗高逐个禁用外设定位

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

73.53%
按下载量换算1,495

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills