嵌入式单片机学习路线(已完结)


嵌入式单片机学习路线(已完结)
第一步,当然是学习 C 语言
可以参考我之前分享的 C 语言学习路线:https://javabetter.cn/xuexiluxian/c.html
第二步,学习基础电路和工具
学习嵌入式,避免不了跟硬件打交道,最好能具备一定的模电数电的基础,作为初学者,
只需要学会电阻,电容,二极管,三级管,mos 管等常用器件的工作原理,及常见基础电
路的原理图就可以了。工具方面要学会示波器、万用表等基本硬件测试工具以及电烙铁焊
接技术就可以了。
推荐:
• 模拟电子技术—郑益慧:https://www.bilibili.com/video/BV1Vf4y1e7ti
• 数字电路—王红:https://www.bilibili.com/video/BV18p411Z7ce/
第三步,学习单片机
有了 C 语言基础与电路知识基础后,就可以正式开始学习单片机了,当然,也可以跨越不
学单片机直接去学习 linux,但学习难度会比较大,有单片机基础再去学习 linux 能使自己
对底层基础知识更了解,同时,学会单片机还能做一些有趣创意的小发明。
学习单片机建议从 51 单片机开始学起,可能会有人觉得 51 单片机性能弱,比较落后,
已经没必要去学,这种思想是错误的,首先,单片机只是一个工具,本质上我们是学习 C
编程及其电路的设计,即使我们以后不使用 51 单片机,但从中学到的编程水平和电路相
关的知识是在所有嵌入式产品上是通用的,另外,在我们现实生活中,包括不限于冰箱,
空调,洗衣机,烤箱,电饭锅等绝大多数家用电器的 MCU 都是 51 内核的单片机,其优势
就在于操作简单,价格便宜,就像如今汽车与飞机发展得再好,考虑成本与便捷上,最后
的 1 公里路还是小电驴最占优势,但最重要的是对于初学者来说,51 单片机学习资料较
多,底层相对较简单,可以很好地让初学者学习入门单片机,理解寄存器底层工作原理。
可以根据教程去淘宝购买相对应的开发板进行学习 51 单片机,跟着视频例程去逐步调试
开发板上的模块进行学习。
推荐:
• 郭天祥—10 天学会 51 单片机:https://www.bilibili.com/video/BV1tT4y1M7uR
• 普中科技 51 单片机学习:https://www.bilibili.com/video/BV1qt4y1Y7FP
• 金沙滩手把手教学 51 单片机:https://www.bilibili.com/video/BV1mi4y15745
这个过程会涉及到仿真、绘制电路 PCB 的知识,推荐视频:
• Altium Designer 17 绘制 51 单片机开发板 PCB 全程实战视频 0 基础入
门:https://www.bilibili.com/video/BV1eK4y1L7BS
• 0 基础入门 Altium Designer( AD)5 小时教
学:https://www.bilibili.com/video/BV1XK411377a
• Altium Designer 17 绘制 51 单片机开发板 PCB 全程实战视频 0 基础入
门:https://www.bilibili.com/video/BV1eK4y1L7BS
• Altium Designer16 绘制 STM32 pcb 开发板 0 基础入
门:https://www.bilibili.com/video/BV1hV411h7Pk
书籍推荐: 电路设计与制作实用教程(Altium Designer 版)
这本书对新手学习操作 Altium Designer 比较容易上手。除了 Altium Designer,还有立创
EDA,PADS,Allegro 等 PCB 设计软件。
仿真软件学习视频推荐:
• 电路仿真 proteus 从 0 基础入门到精通完整版:https://www.bilibili.com/video/
BV1kv411b7SS
• 10 分钟学会 PROTEUS 绘制 51 单片机最小系统:https://www.bilibili.com/video/
BV1WZ4y1g7qA
在 51 单片机掌握熟练后,可以去学习性能更强的 STM32 单片机了。
STM32 单片机学习视频推荐:
• (野火)stm32 零基础入门 霸道/指南者/MINI 入门篇 中级
篇:https://www.bilibili.com/video/BV1mT4y1T7ad
• (野火)stm32 零基础入门 霸道/指南者/MINI 提高篇 大师
篇:https://www.bilibili.com/video/BV1Ut4y1673t
• STM32 入门 正点原子 mini 板精英板教学视频完整
版:https://www.bilibili.com/video/BV1at4y1Y7bv
在你真正的熟悉了 51 和 STM32 两款单片机,再遇到其他单片机其实也是大同小异。当你
拿到一块从未使用过的单片机,并且需要快速开发一个项目时,你需要网上搜索这块单片
机的官网,获取它的开发手册与例程,然后项目开发上需要哪些部分例程就搬运哪些,最
后套进自己一套软件编写框架(如状态机),就可以开始写软件逻辑,遇到单片机例程与
寄存器配置问题时,就在开发手册搜索关键词进行学习配置。
第四步,学习 RTOS(实时操作系统)
掌握了 C 语言与单片机,接下来可以去学习 RTOS(Real-time operating system,实时操
作系统),这种操作系统比分时操作系统实时性强,线程切换速度快,线程切换时间可
控,为了保证实时性,实时操作系统一般都是抢占型内核,允许高优先级的线程抢占
CPU,优先级低的排队执行。普通的单片机程序只有一个 while 循环,功能比较多的时候
这个循环代码很复杂,阅读性差,不好维护。而 RTOS 可以创建线程,每个线程有自己的
while 循环,功能可以模块化设计。
推荐:
• 《FreeRTOS 内核实现与应用开发实战指南》:https://www.bilibili.com/video/
BV16K4y157Tp
• 【野火】《uCOS-III 内核实现与应用开发实战指南》视频教程:https://
www.bilibili.com/video/BV1FA411W7UE
第五步,学习 Linux
嵌入式的大宝贝 linux,职业上主要分为嵌入式 linux 应用工程师和 linux 驱动工程师,
linux 学习主要偏软件,你之前有编程的基础,其实应该也基础过 Linux 系统。
推荐:
• 正点原子】Linux 入门学习:https://www.bilibili.com/video/BV12V411b71w
• 野火 Linux 入门学习:https://www.bilibili.com/video/BV1g54y1x7d8
另外,还有韦东山,朱有鹏大佬的视频也很不错。
QT 是一种人机交互界面,说简单点就是一个运行界面!Liunx 不像 Windows 有自己的界
面,它的操作主要是命令行模式,就像早期的 DOS,Qt 就是一个程序,用来写界面,上
位机,可以更好的实现人机交互控制!
零基础入门六天学会 QT 完整版:https://www.bilibili.com/video/BV1t64y1f7d1
ARM+linux 也是像学单片机一样,买板子看视频多做项目练习,真正的大佬都是从工作项
目中历练出来的。