【单片机/嵌入式】最完整学习路线
一.什么是单片机?什么是嵌入式?它们之间的区别与联系。
关于这个问题我在网上寻找到了相关文章解释得很详细,不了解的同学可以参考一下这篇文章:到底什么是嵌入式?什么是单片机? - 知乎
二.学习路线
一个人学习是孤独的,如果你是一名学生,建议加入学校的电子社团或者实验室,有老师的帮助和同学的互助能更好去提升自己,多与同学组队参加项目比赛,能收获更多的知识经验。
1.C语言! C语言! C语言!
C语言可以说是贯穿整个嵌入式的核心程序语言,想要学好嵌入式,C语言必须学会:
推荐:小甲鱼—带你学C带我飞:
带你学c带你飞【小甲鱼c语言入门教学】_哔哩哔哩_bilibili
郝斌C语言:
郝斌c语言入门教学第一部分_哔哩哔哩_bilibili
初学者可以根据视频边学边敲代码,初学阶段要学会掌握基本的函数,数组,语法关键词if,for,while的使用即可,指针与结构体部分可以在后期再进行补充学习。
2.基础电路与工具的学习
推荐:
模拟电子技术—郑益慧
模电教程—郑益慧_哔哩哔哩_bilibili
数字电路—王红
视频去哪了呢?_哔哩哔哩_bilibili
学习嵌入式,避免不了跟硬件打交道,最好能具备一定的模电数电的基础,作为初学者,只需要学会电阻,电容,二极管,三级管,mos管等常用器件的工作原理,及常见基础电路的原理图就可以了,如果你不打算从事硬件开发工作,不需要花太多精力将这两门课完全弄懂,遇到不懂的电路,器件原理直接进行百度,单点突破即可。工具方面要学会示波器,万用表等基本硬件测试工具以及电烙铁焊接技术就可以了。
3.学习单片机
有了C语言基础与电路知识基础后,就可以正式开始学习单片机了,当然,也可以跨越不学单片机直接去学习linux,但学习难度会比较大,有单片机基础再去学习linux能使自己对底层基础知识更了解,同时,学会单片机还能做一些有趣创意的小发明。
学习单片机建议从51单片机开始学起,可能会有人觉得51单片机性能弱,比较落后,已经没必要去学,这种思想是错误的,首先,单片机只是一个工具,本质上我们是学习C编程及其电路的设计,即使我们以后不使用51单片机,但从中学到的编程水平和电路相关的知识是在所有嵌入式产品上是通用的,另外,在我们现实生活中,包括不限于冰箱,空调,洗衣机,烤箱,电饭锅等绝大多数家用电器的MCU都是51内核的单片机,其优势就在于操作简单,价格便宜,就像如今汽车与飞机发展得再好,考虑成本与便捷上,最后的1公里路还是小电驴最占优势,但最重要的是对于初学者来说,51单片机学习资料较多,底层相对较简单,可以很好地让初学者学习入门单片机,理解寄存器底层工作原理。
推荐:
郭天祥—10天学会51单片机
从零学郭天祥10天入门学会51单片机完整版 0基础_哔哩哔哩_bilibili
普中科技51单片机学习
51单片机普中科技视频完整版0基础入门学习_哔哩哔哩_bilibili
金沙滩手把手教学51单片机
手把手教学51单片机_哔哩哔哩_bilibili
可以根据教程去淘宝购买相对应的开发板进行学习51单片机,跟着视频例程去逐步调试开发板上的模块进行学习。
在学习完视频例程后,就可以使用51单片机做一些实战小项目了,比如心形流水灯,小蛮腰,循迹小车等等。
这个过程会涉及到仿真,绘制电路PCB的知识:
电路PCB绘制软件学习推荐:
Altium Designer 17 绘制51单片机开发板PCB全程实战视频0基础入门
Altium Designer 17 绘制51单片机开发板PCB全程实战视频0基础入门_哔哩哔哩_bilibili
0基础入门Altium designer( AD)5小时教学
0基础入门Altium designer( AD)5小时教学_哔哩哔哩_bilibili
Altium Designer 17绘制51单片机开发板PCB全程实战视频0基础入门
Altium Designer 17 绘制51单片机开发板PCB全程实战视频0基础入门_哔哩哔哩_bilibili
Altium Designer16 绘制STM32 pcb开发板0基础入门
Altium Designer16 绘制STM32 pcb开发板0基础入门_哔哩哔哩_bilibili
书籍推荐:
电路设计与制作实用教程(Altium Designer版):
这本书对新手学习操作Altium designer比较容易上手。除了Altium designer,还有立创EDA,PADS,Allegro等PCB设计软件。
仿真软件学习视频推荐:
电路仿真proteus从0基础入门到精通完整版:
电路仿真proteus从0基础入门到精通完整版_哔哩哔哩_bilibili
10分钟学会PROTEUS绘制51单片机最小系统:
10分钟学会PROTEUS绘制51单片机最小系统_哔哩哔哩_bilibili
在51单片机掌握熟练后,可以去学习性能更强的STM32单片机了,在学习前,可以巩固复习一下C语言指针,结构体,链表方面的知识,
推荐进阶书籍:
- C专家编程
- C陷阱与缺陷
- C和指针
STM32单片机学习视频推荐:
(野火)stm32 零基础入门 霸道/指南者/MINI 入门篇 中级篇
【野火】stm32 零基础入门 霸道/指南者/MINI 入门篇 中级篇_哔哩哔哩_bilibili
(野火)stm32 零基础入门 霸道/指南者/MINI 提高篇 大师篇
【野火】stm32 零基础入门 霸道/指南者/MINI 提高篇 大师篇_哔哩哔哩_bilibili
STM32入门 正点原子mini板精英板教学视频完整版
stm32入门 正点原子mini板精英板教学视频完整版_哔哩哔哩_bilibili
开发小技巧:
在你真正的熟悉了51和STM32两款单片机,再遇到其他单片机其实也是大同小异。当你拿到一块从未使用过的单片机,并且需要快速开发一个项目时,你需要网上搜索这块单片机的官网,获取它的开发手册与例程,然后项目开发上需要哪些部分例程就搬运哪些,最后套进自己一套软件编写框架(如状态机),就可以开始写软件逻辑,遇到单片机例程与寄存器配置问题时,就在开发手册搜索关键词进行学习配置。
在你拿到一块陌生的电子模块时,可以选择去淘宝获取资料,比如搜索这个温湿度模块,在商品栏下拉,就能获取这个模块的资料。
如果你是一名在校大学生,在学习完以上知识内容后,可以去参加全国大学生电子设计大赛,飞思卡尔智能车比赛,物联网比赛等嵌入式相关的比赛来提高自己的项目经验,或者自己做一些创意有趣的小项目。
比赛的过程你可能会接触其他单片机,比如arduino,msp430,esp32等单片机
推荐:
零基础入门学习arduino单片机
零基础入门学习arduino单片机_哔哩哔哩_bilibili
10天学会MSP430单片机完整版
10天学会MSP430单片机完整版 从零入门学MSP430 电赛必备_哔哩哔哩_bilibili
4.学习RTOS(实时操作系统)
掌握了C语言与单片机,接下来可以去学习RTOS(实时操作系统), RTOS 即Real-time operating system,实时操作系统,这种操作系统比分时操作系统实时性强,线程切换速度快,线程切换时间可控,为了保证实时性,实时操作系统一般都是抢占型内核,允许高优先级的线程抢占CPU,优先级低的排队执行。普通的单片机程序只有一个while循环,功能比较多的时候这个循环代码很复杂,阅读性差,不好维护。而RTOS可以创建线程,每个线程有自己的while循环,功能可以模块化设计。
推荐:
[野火]《FreeRTOS内核实现与应用开发实战指南》
[野火]《FreeRTOS内核实现与应用开发实战指南》_哔哩哔哩_bilibili
【野火】《uCOS-III内核实现与应用开发实战指南》视频教程
【野火】《uCOS-III内核实现与应用开发实战指南》视频教程_哔哩哔哩_bilibili
RTOS其实也是同理,在学会使用一种后,其他的RTOS也基本能掌握,RTOS是入门操作系统的一个难点,在掌握一定基础后,可以尝试着在以前做过的项目上跑RTOS进行实践学习。
5.学习linux
嵌入式的大宝贝linux,职业上主要分为嵌入式linux应用工程师和linux驱动工程师,linux学习主要偏软件,对于电子专业学生来说跨度会比较大,涉及到较多计算机方面的知识。
视频推荐:
正点原子】Linux入门学习
【正点原子】Linux入门学习(第1期 Ubuntu入门篇)(第2期 ARM(IMX6U)裸机篇)_哔哩哔哩_bilibili
野火Linux入门学习
野火Linux入门学习:第一期-0基础入门篇_哔哩哔哩_bilibili
另外,还有韦东山,朱有鹏大佬的视频也很不错。
QT是一种人机交互界面,说简单点就是一个运行界面!Liunx不像Windows有自己的界面,它的操作主要是命令行模式,就像早期的DOS,Qt就是一个程序,用来写界面,上位机,可以更好的实现人机交互控制!
视频推荐:
零基础入门六天学会QT完整版
零基础入门六天学会QT完整版_哔哩哔哩_bilibili
ARM+linux也是像学单片机一样,买板子看视频多做项目练习,真正的大佬都是从工作项目中历练出来的。
以上的嵌入式学习路线覆盖较广,真正工作会被细分成硬件工程师,软件工程师,单片机rtos,嵌入式linux应用,嵌入式linux驱动等各个职业,需要看自己对哪方面比较感兴趣,然后精学那个方面的知识。
一个人学习是孤独的,如果你是一名学生,建议加入学校的电子社团或者实验室,有老师的帮助和同学的互助能更好去提升自己,多与同学组队参加项目比赛,能收获更多的知识经验。
欢迎加入:
QQ交流群:867069452
【单片机/嵌入式】最完整学习路线相关推荐
- 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程知识是你必须要掌握的!完整学习路线!!(建议收藏)
大家好,我是冰河~~ 今天给大家带来一篇完整的并发编程学习路线,这应该是全网最全的并发编程学习路线了吧,希望能够为各位小伙伴们带来实质性的帮助. 如果这篇文章对大家有点帮助,小伙伴们点赞,收藏,评论, ...
- C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)
C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址) 相信大部分同学刚毕业或者想转行做c++服务端开发的时候都很迷茫不知道从哪里开始学习,于是准备参加各种培训班或者网络培训,有不知道该 ...
- 游戏开发完整学习路线之美
游戏开发完整学习路线(各个版本都有) 转载自http://www.cnblogs.com/majianchao/p/6523455.html 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个 ...
- Java 开发 (实习生/应届生) 完整学习路线和规划,希望能够帮到屏幕前迷茫的你
这是来自一个没有团队,没有机构,仅仅是一个热爱Java开发的带学生UP主完成的学习路线,所有的资料.源码可以直接下载. 各位小伙伴大家好,也许这是你们第一次见到我,我和你一样,曾也是一个对于未来充满迷 ...
- C++服务器开发完整学习路线
C++服务器开发完整学习路线(含免费学习资料下载地址) 摘自:https://mp.weixin.qq.com/s/vkvQM8d78HBgJbUvY1KcLw 我看了下这里面高级阶段的nginx ...
- 嵌入式了解 以及学习路线
1.嵌入式开发 VS 传统开发 区别: 嵌入式有操作系统为什么要移植操作系统:解决了软硬件耦合度,提高了软件一致性提供了很多开源的工具和库,可以实现多任务,提高了开发效率操作系统还有一些网络协议,因此 ...
- 嵌入式驱动工程师学习路线【建议收藏】
网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生. 一口君曾经是某见的教学总监 ...
- Python人工智能完整学习路线
Python 是人工智能(机器学习)的首选编程语言,它拥有众多模块,能完成人工智能开发的所有环节,没有任何一种语言使用起来如此顺手. Python 人工智能的学习路线如下所示: 1) 爬虫 要学用 P ...
- 嵌入式系统开发-学习路线
嵌入式系统开发 课程链接 随着嵌入式设备的普及,嵌入式应用的需求量也随之增大,本课程将重点培养基于linux系统下的嵌入式应用开发,包括5个阶段,其中课程涵盖了linux系统下的多进程.多线程嵌入式开 ...
- ARM嵌入式开发板学习路线指引
如何入门嵌入式?嵌入式开发学习方法步骤 如何入门嵌入式?嵌入式开发学习路线指引 嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android. 平台:Cortex-A9 ...
最新文章
- “数学不好,干啥都不行!”资深程序员:别再瞎努力了!
- MapReduce: 提高MapReduce性能的七点建议【译】
- 一文了解当今AI的失落
- 分数化小数c语言题目,习题 2-5 分数化小数 (decimal)(C语言版)
- node.js学习笔记
- struts2注解json 配置文件json
- [Golang] struct Tag说明
- nginx php访问日志配置,nginx php-fpm 输出php错误日志的配置方法
- [Perl] Python 与 Perl 合并,打造史上最牛语言 Parrot
- linux之安装模式的选择
- 方法:如何解决NetShareEnum返回ERROR_NO_UNICODE_TRANSLATION(1113)的问题
- 项目管理的49个过程整理
- 计算机网络物理层之信道与信道容量
- HDOJ 5296 Annoying problem LCA+数据结构
- Delphi2007来了
- offsetParent与parentElement ,parentNode,parentElement,childNodes和children
- ESD镜像文件转换成ISO镜像文件解决方案
- 四级地址库 国家标准的行政区划代码 省市区街道
- 用Matlab仿真手写绘图板上的电压分布
- 配置软件仓库和软件包的管理 (Linux)