跳到内容

How To Begin:电控从哪里开始学 ​

来源与授权

本文由 原作者(文内未署名,见原文) 的原始材料《How To Begin_v2.0 (7)》(v2.0,2025-09-13(据 2025 CRTC 培训内容修订))移植而来: 文字按页搬运、未改写结论;图与版式未复刻。 原文件:下载。 版权归原作者;如作者要求撤下,见 免责声明与许可。

17 页回答一个具体问题:刚进电控组,第一周该干什么。原文自己写明「大多还没有实际测试,发现步骤有错请反馈」,我们按原样搬运、不改写。

共 17 页 · 原文件 在此 · 移植方式:抽文字、按句切段, 联系群号 / 房间号等已隐去。

原 PDF 第 1 页 ​

2024.09.20 ​

2025.09.13 ​

1. 写在前面 ​

1.1 我们的初心 ​

1.2 如何提问&&学习 ​

How To Begin📚 学习必须与实干相结合。

——泰戈尔 📚我们仍在完善各个文档,大多还没有实际测试。

因此,如果发现步骤有错请及时反馈,更新也会显示在下面的列表里。

版本号日期更新内容V1.0初次发布v2.0更新了一些链接,根据 2025CRTC 培训内容进行修订,增加科学上网和 AI 的部分。

初入大学,相信你们和一年前的我们一样,激动又迷茫。

为此,我们精心设计了这场比赛,我们不仅仅希望为大家提供一个实践和学习的平台,去帮助大家做出自己的战车;

我们更希望你们能从这次比赛中获得对大学的初体验,感受大学的多彩,快速适应大学的学习生活,从一位刚毕业的准大学生成长为探索式学习的大学学者。

我们希望每一位参赛者都能收获一些不一样的东西:1. 独立纠错:敢于面对未知,根据日志信息,学习利用搜索、生成对话等方式确定问题和解决办法,遇到瓶颈时主动询问他人,并能清晰高效地表达自己的问题。

  1. 团队协作:注重时间观念,及时和队友同步闲忙时间和任务进展,主动通过群聊和私聊沟通解决问题,在限定时间里展现自己的收获和疑惑,对不同意见有思考和补充。

  2. 探索学习:比起掌握一项无用的屠龙技而言,更重要的是能根据问题发现,学习并运用技术的能力。

在接下来的培训过程中,我们会尽可能的告诉大家为什么要这样做。

同时希望大家能够主动规划自己的学习方向和时间,根据比赛和任务的需求"我们写这段话并不是为了故意浪费大家的时间,也不是为了禁止大家提出任何问题,而是为了让大家知道"什么是正确的".当你愿意为这些"正确的做法"去努力,并且尝试用专业的方式提出问题的时候,你就已经迈出了成为"成为专业人士"的第一步."1. 一生一芯 - 如何科学提问 (看看如何科学的提问,你将会有很大的收获)How To Begin1

原 PDF 第 2 页 ​

1.3 如何阅读文档 ​

1.4 素养提高 ​

2. 培训介绍 ​

2.1 你需要掌握的技能 ​

  1. 【中科大 RM 电控合集】每个新领域的学习者都要看一看的东西3. 提问的智慧 (千里自制文档)视频可以陪你一段路,只有文档能让你走向深渊看一个好文档或教程通常来说,博客园质量是简中用户质量最高的,新手教程是官方文档里质量最高的。

在拿到新的开发板,电机或者各种不认识的电子设备时,它的说明书一定是最好的入门手册。

淘宝是一个好地方。

我们会建议你在 CSDN、B 站和 Github 上寻找开源和教学文档,当然在 AI 如此强大的现在 AI 也一定会是你学习的好帮手,我们在后续的板块中也更新了相关知识。

带着问题或者是知识漏洞,在文档里找答案使用生成式 AI 总结文档要点💡 可选链接,看了你的理解将更进一步计算机速成课:Crash Course Computer Science从零到一打造一台计算机:编程前你最好了解的基本硬件和计算机基础知识(模拟电路)编程前你最好了解的基本硬件和计算机基础知识(数字电路)从 0 到 1 设计一台计算机C 语言基础:程序设计入门——C 语言万丈高楼不可平地而起,地基不牢只会导致递归学习。

如果有可能,还应该学习:哈佛大学公开课:计算机科学 cs50。

你将会对单片机和计算机有不同的理解。

How To Begin2

原 PDF 第 3 页 ​

本页含 1 张图,网页不复刻,见 原文第 3 页。

相信你小时候一定玩过遥控车,不知道你有没有尝试拆解它去探究探究他的原理,网上怎么说的来着,成熟的大学生要学会自己给自己造玩具了!

在接下来的两个月,你将和你的团队一起制作两辆炫酷的遥控车,如果你愿意在这件事上投入时间,我能保证最后你的车一定比你小时候玩过的任何车还要炫酷!

【RMBC2024】十月我们在做——戳进来!

重庆大学第一届 RCBC 赛事回忆Look Like This那么作为团队的电控,你需要掌握哪些技能呢:1. 使用单片机控制电机,舵机等执行机构(我们会提供直流有刷电机,如果可以,我们鼓励大家尝试交流无刷电机)2. 使用单片机接收遥控信号(我们会提供 PS2 手柄,如果可以,你可以选择你喜欢的遥控)3. 计算麦克纳姆轮底盘整体的移动状态与单轮移动状态的关系How To Begin3

原 PDF 第 4 页 ​

2.2 培训系列文档介绍 ​

2.3 开发环境配置与基础通识 ​

3. 单片机简介与注意事项 ​

  1. 设计稳定可靠的电气系统并协助你的硬件队员制作 PCB,完成无线化的小车设计5. 学习不息,进步不止,好奇是成长的第一步,嵌入式开发是一片无比广阔的汪洋大海,等待着你的探索!

电控部分会有一课前置课程与两课通识大课,

内容分别为:开发环境配置与基础通识嵌入式开发之定时器与 PWM麦克纳姆轮底盘运动解算与 PS2 遥控2024 年培训系列视频:Part1 点亮未来 - C 语言基础与 STM32 开发入门24RMBC&RCBC 电控第一次联培(录播版)24RCBC&RMBC 电控第二讲【RCBC&RMBC】重庆大学 2024 机器人战队电控第三讲今年我们依旧会在线下培训的同时更新线上网课,

学的快的朋友们可以先看看去年的^^这是本教程的第一篇,也即电控前置文档,会帮助大家完成:完成 keil,CubeMX 的安装下载;

简单介绍软件使用方法;

单片机基础知识介绍;

C 语言学习规划;

嵌入式开发初体验——点亮第一颗 LED 灯。

这里该你们去探索了,欢迎大家在群里积极交流~4. C 语言学习规划4.1 VSCode 安装教程How To Begin4

原 PDF 第 5 页 ​

4.1.1 安装 VSCode首先你需要在官网下载 VSCode,作为你学习 c 语言的平台。

(or 安装包已上传群文件)4.1.2 安装 MinGWMinGW,Windows 上的 GCC(编译软件),将 xxx.c 文件编译成 xxx.exe(可执行文件)文件的工具安装包已上传群内文件夹,解压缩后将/bin 文件夹的路径添加到系统环境变量中即可(因为gcc.exe 和 g++.exe 都在这个文件夹下)1. 下载该压缩包,解压到合适的位置,比如 C:\mingw64 。

  1. 添加 Path 环境变量。

PATH 是系统查找二进制(可执行)文件时使用的路径,设置了 PATH ,就能让系统以及其他程序找到 MinGW-w64 的可执行文件。

打开 设置 > 系统 > 关于 > 高级系统设置 ,在 高级 选项卡下打开 环境变量 ,你会发现 xxx的用户变量 和 系统变量 栏中都有一个 Path 变量。

这两个 Path 编辑哪个都行,区别是用户变量只对自己可见,系统变量则对系统上的所有用户都可见。

我们现在电脑都是自己一个人用,所以对我们来说没区别。

打开"编辑环境变量"窗口,点"新建",将你刚刚解压的 MinGW-w64 压缩包内 bin 目录的路径填进来,比如 C:\mingw64\binHow To Begin5

原 PDF 第 6 页 ​

本页含 1 张图,网页不复刻,见 原文第 6 页。

1. 验证安装。 ​

打开终端(Windows 图标键+R 键,输入 cmd),输入 gcc --version ,如果你的输出和我的类似,则证明你安装成功了。

$ gcc --versiongcc.exe (x86_64-posix-seh-rev0, Built by MinGW-Builds project) 13.2.0Copyright (C) 2023 Free Software Foundation, Inc.How To Begin6

原 PDF 第 7 页 ​

4.2 编程语言介绍 ​

2. 了解各种运算符。 ​

1. 自创函数+参数类型+返回值。 ​

2. 局部与全局变量+变量存储类型+内外部函数。 ​

1. 学习遍历数组并实现简单应用。 ​

2. 字符串与数组处理。 ​

This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.4.1.3 配置 VsCodeVSCode 官方文档建议使用浏览器自带的翻译功能阅读C——看起来这是很专业很厉害的一门语言,

但又会不会太专业不适合非程序员呢?

Python MATLAB——仿真测试的好帮手C 语言是理工科的大学必修课,也是电控方向的基础,因为目前 C 语言是基于单片机的嵌入式开发的主要语言。

为了下面的过程进展顺利,这里强烈建议先了解 C 的基本语法。

后续培训不会专门针对 C 语言,在开始前,请确保自己拥有基础函数数组三部分的 C 语言基础。

(PS:不会写可以让 AI写,但是一定要能看得懂)学习规划4.2.1.1 基础1. C 语言概览。

重点看规范文档,掌握各种语句和数据类型。

  1. 学习顺序、选择、循环 3 种基本程序结构,掌握 if-else、for、while、do-while、switch-case、break、continue 等语句的用法,goto 有所了解即可。

4.2.1.2 函数3. 多做练习,熟练使用函数简化程序,降低模块耦合度。

4.2.1.3 数组How To Begin7

原 PDF 第 8 页 ​

3. 多维数组应用和练习。 ​

1. 了解指针及其应用。 ​

2. 了解结构体、链表等结构。 ​

3. 如有余力,可以学习一点点数据结构与算法。 ​

4.2.1.4 进阶推荐一下自学网站(并不是硬性要求,只是推荐):链接推荐:vscode 文档(官方文档,包含大部分你需要的知识,请查询需要的部分)菜鸟编程,简洁的文档,适合快速自学,并且除了 C 还有各种量大管饱的语言,推荐黑马程序员 C 语言零基础入门到精通全套视频教程,

计算机二级 C 语言、专升本、考研、期末、嵌入式开发一套搞定(黑马 C++视频,黑马出品,必定精品)推荐5. KEIL 安装为什么是 keilKeil 公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。

Keil 公司由两家私人公司联合运营,分别是德国慕尼黑的 Keil Elektronik GmbH 和美国德克萨斯的 KeilSoftware Inc。

Keil 公司制造和销售种类广泛的开发工具,包括 ANSI C 编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。

有超过 10万名微控制器开发人员在使用这种得到业界认可的解决方案。

其 Keil C51 编译器自 1988 年引入市场以来成为事实上的行业标准,并支持超过 500 种 8051 变种。

MDK 即 RealView MDK 或 MDK-ARM(Microcontroller Development kit),是 ARM 公司收购 Keil 公司以后,基于 uVision 界面推出的针对 ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4 等 ARM 处理器的嵌入式软件开发工具。

MDK-ARM 集成了业内最领先的技术,包括 uVision4 集成开发环境与 RealView 编译器 RVCT。

支持ARM7、ARM9 和最新的 Cortex-M3/M1/M0 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能,与 ARM 之前的工具包 ADS 等相比,RealView 编译器的最新版本可将性能改善超过 20%。

Keil 公司开发的 ARM 开发工具 MDK,是用来开发基于 ARM 核的系列微控制器的嵌入式应用程序。

它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。

MDK 包含了工业标准的 Keil C 编译器、宏汇编器、调试器、实时内核等组件,支持所有基于 ARM 的设备,能帮助工程师按照计划完成项目。

How To Begin8

原 PDF 第 9 页 ​

本页含 1 张图,网页不复刻,见 原文第 9 页。

1. 安装软件 ​

2. 安装芯片包 ​

3. 使用注册机进行破解(已上传群文件) ​

Keil 老当益壮,门槛低,好用,我们的教学也是基于 Keil 的,后续可以根据个人喜好换VScode 或 CLion。

安装指南官网下载地址下载 MDK_ARM 安装包(安装包已上传群文件,MDK-ARM)安装完成后打开软件会弹出芯片包管理器选择 STMicroelectronics-->STM32F1 Series-->STM32F103,

右边 installSTM32F1xx_DFP等待右下角进度条安装完成或直接下载群文件中的 STM32F1xx_DFP 文件安装安装完成后对应芯片包处 Action 选项由 Install 变为 Up to Date以管理员权限运行注册机和 KeilHow To Begin9

原 PDF 第 10 页 ​

本页含 2 张图,网页不复刻,见 原文第 10 页。

打开如图选项复制 CID 到注册机中,Target 选 arm,点击 GenerateHow To Begin10

原 PDF 第 11 页 ​

本页含 2 张图,网页不复刻,见 原文第 11 页。

生成对应的 LIC 复制到 keil 中,点击 Add LICHow To Begin11

原 PDF 第 12 页 ​

3. STM32CubeMX ​

Added Successfully,破解成功4. 安装 ST-Link 驱动ST-Link 驱动的安装下载设置请参考这篇文章进行 ST-LINK 的配置安装,相关文件(en.stsw-link009)已上传群文件使用指南μVision 用户指南6. CubeMX 安装为什么是 CubeMXstm32 的主流开发方式包括寄存器开发,标准库开发,HAL 库(LL 库)开发。

寄存器开发即直接控制 32 的寄存器,工程运行效率高,但是开发难度大,可读性与可移植性差;

标准库开发即使用 ST 官方开源的一套标准固件库进行开发,这套固件库对一系列寄存器操作进行了封装,降低了开发难度,提高了可读性和可移植性,但目前 ST 已经将推广的重心从标准库转移到了 HAL 库(LL 库)上,虽然还是有许多工程在使用标准库进行开发,但无论是软件还是文档的更新速度,标准库都已经无法和后者比拟了;

HAL 库(LL 库)开发是 ST 开源的又一套新的库,与标准固件库的最大区别是,HAL 库(LL库)支持 ST 开发的一款图形化工程配置软件 STM32CubeMX,使用该软件可以大大提升开发效率和工程移植性,尽管由于 HAL 库采用了更加复杂的封装,降低了工程的运行效率,但是由于 stm32 本身强大的性能,中小型的工程依然能够流畅的运行。

目前越来越多的用户开始使用 HAL 库(LL 库)进行开发;

HAL 库常见开发环境:1. 代码编辑&编译器(Keil MDK,IAR 等)2. 下载器驱动(JLink & STLink)安装指南官网下载地址下载对应安装包进行安装即可,安装前需要注册账号(牢记你的账号密码),相信这个小问题难不倒大家的(安装包已上传群内文件夹)How To Begin12

原 PDF 第 13 页 ​

8. 如何科学上网 ​

使用指南STM32CubeMX 官方使用指南 - 官方的软件使用指南STM32CubeMX 项目配置窗口介绍(一) - 大概看看,对软件有个基本认识,ClockConfiguration 部分比较重要,可以自行上网搜索相关教程及相关概念STM32CubeMX 项目配置窗口介绍(二) - 工程项目的相关设置,

建议做适当笔记,你会经常需要看他的7. 点灯——嵌入式开发里的"Hello World"至此,你的开发环境已经配置完成,你可以选择进行 C 语言的学习,或者是购入一块STM32F103C8T6 最小系统板和一个 ST-Link,开始你的嵌入式开发之路。

推荐一篇点灯教程:新手入门之 HAL 库点灯只用作学术研究,不要在 youtube,ins,telegram 等发表不正当评论(小心被请去喝茶)软件方面推荐使用🐱,Clash Verge 。

软件 GITHUB 仓库链接(有时候直连能进)clash-verge-rev/clash-verge-rev: A modern GUIclient based on Tauri, designed to run in Windows,

macOS and Linux for tailoredproxy experience如果下载不了的话就网上搜一下安装包吧机场推荐找按量计费的,这里推荐 (链接见原文) AI 使用指南AI 不能完全取代程序员,至少现在的 AI 还没有智能到那种程度,稍微复杂点的逻辑他就会🐔。

那么如何用 AI 提高效率呢,可以从提示词、使用 MCP、选择合适的 AI 这几个方面来。

需要注意的是,学习阶段不要过度依赖 AI,不然到头来啥也没学会,还浪费很多时间在和 AI 写的屎山代码斗智斗勇。

How To Begin13

原 PDF 第 14 页 ​

1. 豆包,日常使用足矣,覆盖面广 ​

2. KIMI,上下文很长,有很多有意思的插件 ​

3. 阿里的千问,国产里面写代码算比较好的了 ​

💡AI 用的好,能大幅提高你的工作效率。

AI 的选择主要还是根据自己的使用场景来选择对应的 AI,比如日常提问使用豆包,然后包含复杂逻辑的编程的时候使用 claude,需要外网资料搜索的用 grok 或 gemini。

国产 AI(无需梯子)4. deepseek,不推荐,幻觉率太高,准确性有点低。

国外 AI(需要魔法)1. claude4,写代码之神,特别是在复杂的业务逻辑下也能准确理解需求,谁用谁知道2. grok,数据库来自 X 和外网,用来当搜索工具好用,解决问题能力强3. gemini,写文章文笔好,闲鱼可以买学生账号还是可以的。

所以 gemini3 什么时候出4. GPT,GPT5 写代码是不如 Claude 的。

4o 说话比较好听,多模态能力强,特别是修图,只能说瘦死的骆驼比马大AI IDE这里推荐 Cursor 或 VS Code+copilot,前者可以闲鱼低价买,后者可用 github 学生认证白嫖。

  1. curosr,用了 cursor 你就像吸了一样,根本戒不掉,然后写代码能力越来越差(bushi)2. vscode 响应速度比较慢,但是胜在免费,建议用 ask 就行了3. 也可以用 vscode 加上一些国产插件,比如通义灵码这些。

How To Begin14

原 PDF 第 15 页 ​

本页含 1 张图,网页不复刻,见 原文第 15 页。

如图是 vscode+copilot,ai 可以直接读你的多个项目代码、终端信息等,要比你一个个复制到浏览器中问 ai 要方便很多、效率更高。

IDE 中给 AI 用的 Rule💡什么是 rule?

你可以理解为每次 ask ai,自动会带上的一个额外的"提示词"。

这里举一个 cursor 的 rule 为例子(尽量不让 AI 写出屎山代码的 RULE)(链接见原文) 中的 MCPHow To Begin15

原 PDF 第 16 页 ​

👉什么是 MCP?

MCP(模型上下文协议)是 Anthropic 推出的开放协议,如同 “AI 世界的 USB-C 接口”,让大模型能即插即用地调用外部工具、数据库或 API,打破数据孤岛,实现安全、标准化的双向交互,赋能 AI 成为能实际操作资源的智能助手MCP 一般在这里找,支持一键导入。

(链接见原文) mcp 工具,非常推荐 context7,(链接见原文) MCP,比如能让 ai 操控你的浏览器的 Playwright mcp,还有能让 ai 访问你的本地/远程数据库的 mcp,这些结合在一起能更让 ai 高效进行项目的开发看到最后,我给参加 2025CRTC 的电控们留个小彩蛋,这是笔者去年参加 RCBC 结束后写的一份 Debug 文档,里面记录了当时参加比赛的一些踩过的坑和一些心得。

笔者去年真的几乎把能踩过的坑都踩了一遍,说实话,非常痛苦。

但我可以很自信的说,正因如此,我在RCBC 新生赛中学到的电控知识是最多最扎实的。

所以朋友们不要怕困难,刨根问底,战胜它,你就战胜了自己!

加油!

V1.0 版本主要作者重庆大学 2023 级明月班学生-王阳重庆大学 ConQU 战队电控组-赵江涛重庆大学 ConQU 战队队长-温全重庆大学千里战队电控组-李铸铭特别鸣谢重庆大学千里战队视觉算法组-郑元斌重庆大学千里战队视觉算法组-周博翰V2.0 版本How To Begin16

原 PDF 第 17 页 ​

主要作者重庆大学 ConQU 战队队长-贺开心重庆大学 ConQU 战队视觉组-陈祺琛How To Begin17

这一页的讨论