嵌入式开发学习路线:从C语言到STM32项目实战完整指南
很多初学者在嵌入式开发入门时常常感到迷茫面对众多的单片机型号、复杂的电路连接、多样的编程语言不知道从何入手。本文为你整理了一份系统完整的嵌入式开发学习路线从零基础到项目实战涵盖C语言基础、单片机原理、电路知识、开发工具、实战项目等核心内容帮助你少走弯路高效掌握嵌入式开发技能。1. 嵌入式开发概述与学习目标1.1 什么是嵌入式开发嵌入式开发是指针对特定应用场景设计、开发和优化嵌入式系统的过程。嵌入式系统是以应用为中心以计算机技术为基础软硬件可裁剪适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。常见的嵌入式系统应用包括智能家居设备智能灯、温控器工业控制系统PLC、传感器网络消费电子产品智能手表、无人机汽车电子ECU、车载娱乐系统医疗设备监护仪、便携设备1.2 学习目标与预期成果通过本学习路线你将能够掌握C语言编程基础及其在嵌入式开发中的应用理解单片机工作原理和体系结构熟练使用至少一款主流单片机51、STM32、ESP32等具备基本的电路设计和分析能力能够独立完成小型嵌入式项目开发理解嵌入式系统开发的全流程2. 学习路线总体规划2.1 六个阶段的学习路径阶段1C语言基础1-2个月数据类型、变量、常量运算符与表达式流程控制语句数组与字符串函数定义与调用指针深入理解结构体与联合体宏定义与条件编译阶段2单片机基础知识2-3周单片机基本概念与分类常见单片机型号对比单片机内部结构分析开发工具与环境搭建阶段351单片机实战入门1-2个月开发环境搭建GPIO控制实战中断系统学习定时器应用串口通信编程阶段4STM32进阶开发2-3个月STM32CubeMX使用HAL库编程高级外设应用通信协议实战阶段5物联网方向拓展可选1-2个月ESP32开发无线通信技术云平台对接阶段6综合项目实战1-2个月完整项目开发系统调试优化项目文档编写2.2 学习时间安排建议对于零基础学习者建议每天保持2-3小时的学习时间周末可以安排4-6小时的实战练习。整个学习周期大约需要6-8个月具体时间根据个人基础和学习强度调整。3. C语言基础深度掌握3.1 核心语法要点C语言是嵌入式开发的基石必须扎实掌握以下核心概念指针的深入理解#include stdio.h // 指针基础示例 int main() { int var 20; // 实际变量声明 int *ip; // 指针变量声明 ip var; // 在指针变量中存储var的地址 printf(var变量的地址: %p\n, var); printf(ip变量存储的地址: %p\n, ip); printf(*ip变量的值: %d\n, *ip); return 0; }指针是C语言的精髓在嵌入式开发中主要用于直接操作硬件寄存器高效的数据传递动态内存管理函数回调机制结构体与位域操作// 寄存器映射示例 typedef struct { volatile uint32_t CRL; volatile uint32_t CRH; volatile uint32_t IDR; volatile uint32_t ODR; volatile uint32_t BSRR; volatile uint32_t BRR; volatile uint32_t LCKR; } GPIO_TypeDef; // 位域操作示例 typedef struct { unsigned int mode : 2; unsigned int cnf : 2; unsigned int reserved : 28; } GPIO_CRL_Bits;3.2 嵌入式特色编程技巧位操作技巧// 常用的位操作方法 #define BIT(n) (1 (n)) // 设置特定位为1 PORT | BIT(5); // 清除特定位 PORT ~BIT(3); // 切换特定位状态 PORT ^ BIT(7); // 检查特定位是否置位 if (PORT BIT(2)) { // 执行相应操作 }内存映射操作// 直接地址操作示例 #define GPIOA_ODR (*(volatile uint32_t*)0x4001080C) void set_led(void) { GPIOA_ODR | (1 5); // 设置PA5为高电平 } void clear_led(void) { GPIOA_ODR ~(1 5); // 清除PA5 }3.3 实践练习项目项目1简易计算器#include stdio.h float calculate(float a, float b, char operator) { switch(operator) { case : return a b; case -: return a - b; case *: return a * b; case /: if(b ! 0) return a / b; else { printf(错误除数不能为0\n); return 0; } default: printf(错误不支持的操作符\n); return 0; } } int main() { float num1, num2, result; char op; printf(请输入表达式例如2 3); scanf(%f %c %f, num1, op, num2); result calculate(num1, num2, op); printf(结果%.2f\n, result); return 0; }4. 单片机基础与硬件知识4.1 单片机基本概念单片机Microcontroller是一种集成CPU、RAM、ROM、I/O接口、定时器等多种功能于一体的微型计算机系统。与通用计算机相比单片机更注重实时性、可靠性和低功耗。主流单片机类型对比类型代表型号特点适用场景8位单片机STC89C52简单易学成本低教学、简单控制32位单片机STM32F103性能强大外设丰富工业控制、复杂应用IoT单片机ESP32集成Wi-Fi/蓝牙物联网、智能家居专用单片机各种ASIC针对特定应用优化专用领域4.2 单片机内部结构详解核心组成部分CPU中央处理器执行指令的核心存储器包括Flash程序存储和RAM数据存储I/O端口与外部设备通信的接口定时器/计数器产生精确时间间隔中断系统处理紧急事件通信接口UART、I2C、SPI等4.3 开发工具与环境搭建常用开发工具介绍Keil MDK安装配置下载Keil MDK安装包安装主程序和支持包配置工程模板设置调试器参数STM32CubeIDE安装# 下载STM32CubeIDE wget https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html # 安装步骤 # 1. 解压下载的压缩包 # 2. 运行安装程序 # 3. 选择安装路径 # 4. 安装支持的芯片包5. 51单片机实战入门5.1 开发环境搭建Keil C51安装配置详细步骤下载与安装访问Keil官网下载C51版本运行安装程序选择安装路径安装完成后申请评估许可证或使用正式许可证工程创建新建工程选择单片机型号如STC89C52添加启动文件STARTUP.A51配置工程选项目标、输出、调试等编写第一个程序#include reg52.h void delay(unsigned int i) { while(i--); } void main() { while(1) { P1 0x00; // 所有LED亮 delay(50000); P1 0xFF; // 所有LED灭 delay(50000); } }5.2 GPIO控制实战LED控制示例#include reg52.h sbit LED P1^0; // 定义LED连接到P1.0 void delay_ms(unsigned int ms) { unsigned int i, j; for(i 0; i ms; i) for(j 0; j 114; j); } void main() { while(1) { LED 0; // LED亮 delay_ms(500); // 延时500ms LED 1; // LED灭 delay_ms(500); // 延时500ms } }按键检测示例#include reg52.h sbit KEY P3^2; // 按键连接到P3.2 sbit LED P1^0; // LED连接到P1.0 void main() { KEY 1; // 设置按键引脚为上拉输入 while(1) { if(KEY 0) { // 检测按键是否按下 delay_ms(10); // 消抖延时 if(KEY 0) { LED ~LED; // 切换LED状态 while(!KEY); // 等待按键释放 } } } }5.3 中断系统学习外部中断配置#include reg52.h sbit LED P1^0; // 外部中断0服务函数 void ext0_isr() interrupt 0 { LED ~LED; // 切换LED状态 } void main() { IT0 1; // 设置INT0为边沿触发 EX0 1; // 使能INT0中断 EA 1; // 全局中断使能 while(1) { // 主循环执行其他任务 } }6. STM32进阶开发6.1 STM32CubeMX使用指南STM32CubeMX是ST官方推出的图形化配置工具可以大大简化STM32开发的前期准备工作。使用步骤新建工程打开STM32CubeMX选择单片机型号如STM32F103C8T6配置时钟树设置引脚功能外设配置GPIO配置设置输入输出模式定时器配置PWM、定时中断等通信接口UART、I2C、SPI等中断配置NVIC设置生成代码选择开发工具MDK-ARM、IAR等设置工程名称和路径生成代码框架6.2 HAL库编程实战GPIO控制示例#include main.h #include stm32f1xx_hal.h // GPIO初始化 void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); // 配置PA5为输出模式 GPIO_InitStruct.Pin GPIO_PIN_5; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull GPIO_NOPULL; GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); } // 主函数 int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); while (1) { HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); HAL_Delay(500); } }UART通信示例// UART初始化 void MX_USART1_UART_Init(void) { huart1.Instance USART1; huart1.Init.BaudRate 115200; huart1.Init.WordLength UART_WORDLENGTH_8B; huart1.Init.StopBits UART_STOPBITS_1; huart1.Init.Parity UART_PARITY_NONE; huart1.Init.Mode UART_MODE_TX_RX; huart1.Init.HwFlowCtl UART_HWCONTROL_NONE; huart1.Init.OverSampling UART_OVERSAMPLING_16; HAL_UART_Init(huart1); } // 发送数据 void send_data(uint8_t *data, uint16_t size) { HAL_UART_Transmit(huart1, data, size, 1000); } // 接收数据 void receive_data(uint8_t *buffer, uint16_t size) { HAL_UART_Receive(huart1, buffer, size, 1000); }6.3 高级外设应用PWM输出控制// PWM配置 void PWM_Init(void) { TIM_OC_InitTypeDef sConfigOC {0}; htim3.Instance TIM3; htim3.Init.Prescaler 7199; htim3.Init.CounterMode TIM_COUNTERMODE_UP; htim3.Init.Period 99; htim3.Init.ClockDivision TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(htim3); sConfigOC.OCMode TIM_OCMODE_PWM1; sConfigOC.Pulse 50; // 占空比50% sConfigOC.OCPolarity TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(htim3, sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(htim3, TIM_CHANNEL_1); }ADC采样示例// ADC初始化 void ADC_Init(void) { hadc1.Instance ADC1; hadc1.Init.ScanConvMode ADC_SCAN_DISABLE; hadc1.Init.ContinuousConvMode ENABLE; hadc1.Init.DiscontinuousConvMode DISABLE; hadc1.Init.ExternalTrigConv ADC_SOFTWARE_START; hadc1.Init.DataAlign ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion 1; HAL_ADC_Init(hadc1); } // 读取ADC值 uint16_t read_adc(void) { HAL_ADC_Start(hadc1); HAL_ADC_PollForConversion(hadc1, 100); return HAL_ADC_GetValue(hadc1); }7. 电路基础知识必备7.1 基础电路概念电压、电流、电阻关系电压V电势差单位伏特电流I电荷流动速率单位安培电阻R阻碍电流流动单位欧姆欧姆定律V I × R常用元件特性电阻限流、分压电容滤波、储能、耦合电感滤波、储能二极管整流、保护三极管放大、开关7.2 单片机最小系统电路必备电路模块电源电路稳压芯片如AMS1117-3.3滤波电容10uF 0.1uF电源指示灯时钟电路晶振8MHz/12MHz等负载电容通常22pF复位电路复位按键上拉电阻滤波电容下载接口SWD接口STM32串口接口51单片机7.3 实用电路设计技巧LED驱动电路单片机IO → 220Ω电阻 → LED → GND按键电路设计按键 → 10k上拉电阻 → VCC → 单片机IO → 0.1uF电容 → GND消抖电机驱动电路单片机IO → 1k电阻 → 三极管基极 → 电机 → 三极管集电极 → 续流二极管8. 开发工具与调试技巧8.1 常用开发工具介绍代码编辑工具VS Code轻量级插件丰富Keil MDK专业嵌入式开发IAR Embedded Workbench商业级工具STM32CubeIDEST官方免费工具调试工具ST-LinkSTM32调试下载J-Link通用ARM调试逻辑分析仪信号分析示波器波形观测8.2 调试技巧与问题排查常见问题排查方法程序不运行检查电源电压验证时钟配置检查复位电路确认下载成功外设不工作检查时钟使能验证引脚配置查看寄存器状态测试信号波形通信失败确认波特率设置检查电平匹配验证接线正确测试信号质量调试示例UART通信调试// 添加调试信息 void debug_print(char *message) { #ifdef DEBUG HAL_UART_Transmit(huart1, (uint8_t*)message, strlen(message), 1000); #endif } // 在关键位置添加调试输出 debug_print(程序开始执行\r\n); debug_print(初始化完成\r\n);9. 综合项目实战9.1 智能温湿度监测系统项目功能使用DHT11传感器采集温湿度OLED显示屏显示数据串口输出监测信息按键控制显示模式硬件连接DHT11 → PA0OLED → I2CPB6, PB7按键 → PC13核心代码#include dht11.h #include ssd1306.h #include main.h DHT11_Data dht11_data; void read_sensor(void) { if(DHT11_ReadData(dht11_data) DHT11_OK) { // 数据读取成功 printf(温度: %d℃, 湿度: %d%%\r\n, dht11_data.temperature, dht11_data.humidity); } } void display_data(void) { char buffer[20]; SSD1306_Clear(); SSD1306_GotoXY(0, 0); sprintf(buffer, Temp: %dC, dht11_data.temperature); SSD1306_Puts(buffer, Font_7x10, SSD1306_COLOR_WHITE); SSD1306_GotoXY(0, 20); sprintf(buffer, Humi: %d%%, dht11_data.humidity); SSD1306_Puts(buffer, Font_7x10, SSD1306_COLOR_WHITE); SSD1306_UpdateScreen(); } int main(void) { // 初始化代码 HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); SSD1306_Init(); DHT11_Init(); while (1) { read_sensor(); display_data(); HAL_Delay(2000); } }9.2 智能小车控制系统项目功能直流电机控制前进、后退、转向超声波避障红外遥控蓝牙手机控制硬件组件STM32F103主控L298N电机驱动HC-SR04超声波红外接收头HC-05蓝牙模块电机控制代码// 电机控制函数 void motor_forward(void) { HAL_GPIO_WritePin(MOTOR_A1_GPIO_Port, MOTOR_A1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(MOTOR_A2_GPIO_Port, MOTOR_A2_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(MOTOR_B1_GPIO_Port, MOTOR_B1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(MOTOR_B2_GPIO_Port, MOTOR_B2_Pin, GPIO_PIN_RESET); } void motor_backward(void) { HAL_GPIO_WritePin(MOTOR_A1_GPIO_Port, MOTOR_A1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(MOTOR_A2_GPIO_Port, MOTOR_A2_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(MOTOR_B1_GPIO_Port, MOTOR_B1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(MOTOR_B2_GPIO_Port, MOTOR_B2_Pin, GPIO_PIN_SET); } void motor_turn_left(void) { HAL_GPIO_WritePin(MOTOR_A1_GPIO_Port, MOTOR_A1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(MOTOR_A2_GPIO_Port, MOTOR_A2_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(MOTOR_B1_GPIO_Port, MOTOR_B1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(MOTOR_B2_GPIO_Port, MOTOR_B2_Pin, GPIO_PIN_RESET); }10. 常见问题与解决方案10.1 开发环境问题问题1Keil编译错误现象提示找不到头文件或库函数原因头文件路径未设置或库未添加解决在工程选项中正确设置包含路径和库文件路径问题2程序下载失败现象提示无法连接目标芯片原因接线错误、电源问题、驱动未安装解决检查硬件连接安装正确驱动确保电源稳定10.2 硬件连接问题问题3外设不工作现象LED不亮、按键无响应原因引脚配置错误、时钟未使能、硬件损坏解决检查引脚配置确认时钟使能测试硬件好坏问题4通信异常现象UART收发数据错误原因波特率不匹配、电平不兼容、接线错误解决统一通信参数使用电平转换芯片检查接线10.3 程序设计问题问题5程序跑飞或死机现象程序运行不稳定偶尔死机原因堆栈溢出、中断冲突、硬件故障解决增加堆栈大小合理设置中断优先级检查硬件问题6功耗过高现象电池消耗过快原因未使用的模块未关闭、频繁唤醒解决合理使用低功耗模式关闭不必要的外设11. 学习资源与进阶方向11.1 推荐学习资源书籍推荐《C程序设计语言》- 经典C语言教程《STM32库开发实战指南》- STM32实战宝典《嵌入式实时操作系统》- RTOS深入理解《电路基础》- 硬件知识必备在线资源正点原子官方资料野火嵌入式教程ST官方技术文档GitHub开源项目视频课程B站嵌入式相关UP主慕课网嵌入式课程官方培训视频11.2 进阶学习方向嵌入式Linux开发Linux系统编程设备驱动开发嵌入式GUI开发系统移植与裁剪物联网开发无线通信技术Wi-Fi、蓝牙、LoRa云平台对接阿里云、腾讯云移动端App开发大数据处理工业控制方向实时操作系统RTOS工业通信协议Modbus、CAN运动控制算法可靠性设计人工智能边缘计算TensorFlow Lite Micro神经网络模型部署图像识别应用语音处理技术嵌入式开发是一个需要持续学习的领域建议保持动手实践的习惯多参与实际项目不断积累经验。随着技术的不断发展要及时关注行业动态学习新技术新工具才能在嵌入式开发领域走得更远。

相关新闻

电子设计入门:从零基础到独立开发全流程指南

电子设计入门:从零基础到独立开发全流程指南

1. 电子设计入门:从零基础到独立项目开发作为一名有十年硬件开发经验的工程师,我经常被问到"如何从零开始学习电子设计"。这个看似简单的问题背后,其实包含着一整套系统的知识体系构建路径。今天我就结合自己从学生时代到职业开发的…

2026/8/13 6:56:15 阅读更多 →
VC++水果识别系统开发:从OpenCV图像处理到机器学习算法集成

VC++水果识别系统开发:从OpenCV图像处理到机器学习算法集成

1. 项目概述与核心价值最近在整理过往项目时,翻到了一个用VC做的综合水果识别系统,感觉挺有意思的。这个项目说白了,就是让电脑能像人眼一样,看一眼图片或者摄像头画面,就能认出里面是苹果、香蕉还是橙子。听起来好像挺…

2026/8/13 1:16:03 阅读更多 →
现实亲自给你反馈:“你真的可以。”

现实亲自给你反馈:“你真的可以。”

真正改变一个人的,不是别人告诉他有潜力,而是现实用结果告诉他:你的能力比你过去认为的更大。这一刻,是人与自己重新建立信任的时刻。第一层:为什么现实反馈如此重要? 因为人的自我认知,不是凭空…

2026/8/12 8:51:50 阅读更多 →

最新新闻

从4宫格到9宫格:数独逻辑思维训练与系统性解法全解析

从4宫格到9宫格:数独逻辑思维训练与系统性解法全解析

1. 从“格子游戏”到逻辑思维训练:数独的入门与进阶数独,这个看似简单的数字填充游戏,早已超越了娱乐的范畴,成为锻炼逻辑推理、专注力和空间想象力的绝佳工具。很多人第一次接触数独,面对9x9的庞大宫格和密密麻麻的数…

2026/8/13 23:35:58 阅读更多 →
计算机毕业设计之基于Spark的7K7K小游戏可视化系统设计与实现

计算机毕业设计之基于Spark的7K7K小游戏可视化系统设计与实现

随着大数据技术的不断发展,可视化系统在数据分析与呈现方面发挥着越来越重要的作用。7K7K小游戏作为一款广受欢迎的游戏平台,其用户数据蕴含着丰富的价值,然而传统的数据分析方法往往难以有效地提取和展示这些数据。因此,本文提出…

2026/8/13 23:35:58 阅读更多 →
构建AI Agent评估体系:从六个维度量化智能体性能

构建AI Agent评估体系:从六个维度量化智能体性能

1. 项目概述:为什么我们需要一套AI Agent评估体系?最近和几个做AI应用落地的朋友聊天,大家不约而同地提到了一个痛点:项目上线后,效果到底怎么样,心里没底。你说它智能吧,有时候回答得驴唇不对马…

2026/8/13 23:35:58 阅读更多 →
Nacos生产环境高可用部署与配置管理实战指南

Nacos生产环境高可用部署与配置管理实战指南

1. 从“能用”到“敢用”:Nacos在生产环境中的真实挑战如果你在微服务架构里用过Nacos,大概率会觉得它上手挺简单:下载、启动、配个地址,服务就能注册上去,配置也能拉下来。很多教程和Demo也止步于此,给人一…

2026/8/13 23:35:58 阅读更多 →
计算机毕业设计之基于Spark+Echarts的健康医疗数据分析系统

计算机毕业设计之基于Spark+Echarts的健康医疗数据分析系统

随着人口老龄化和生活水平的提高,健康医疗数据分析系统变得日益重要。为了更好地管理和分析大规模的健康医疗数据,研究人员开始关注具有高可扩展性和实时计算能力的技术。Spark作为一种快速、通用、可扩展的大数据处理引擎,提供了强大的数据处…

2026/8/13 23:35:58 阅读更多 →
WiFi模块在现代打印技术中的关键作用与优化实践

WiFi模块在现代打印技术中的关键作用与优化实践

1. WiFi模块如何重塑现代打印体验十年前办公室里此起彼伏的"给我发个文件,我帮你打印"的声音,如今已逐渐被手机直接打印取代。这个转变的核心推手,正是内置在打印机中的WiFi模块。不同于简单的硬件叠加,WiFi模块与打印机…

2026/8/13 23:34:57 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →