物联网、电子信息、单片机、嵌入式学习路线


由于本人是大一是计算机类,大三是物联网工程,所以提供的经验仅供参考。

 

==============================分割线==============================

大一大二,本人是走纯软件路线,和为硬件打基础,也就是大杂烩。

所学课程如下

大一课程

 

大二课程

 

纯粹的大杂烩有没有,啥都学,啥都不行。

不过后来想想,这样也蛮好,世界那么大,都接触下,感兴趣自己就去学,大学老师只是领进门,修行在个人。

 

==============================分割线==============================

转到了大三,分配到了物联网专业。

而这个专业也算是圆了我大学报考时对计算机的理解。

在我的理解中,计算机嘛,肯定要和硬件搭边(这叫电子信息工程),但是又不能脱离软件(则才叫计算机科学与技术或者叫软件工程之类的)

 

大三课程

 

大三,才算是刚刚接触物联网,而在学校,知识又古老,老师所教的又是有限,所以便开始洗心革面,开始探索外面的时间。

 

==============================分割线==============================

而我的自学生涯,也算是正是开始。本着对硬件的热爱,心中便有无限的动力,惊讶于自己能每天准时准点起床,坚持了一年。

现在便开始介绍我大三所学的

 

单片机系列

  51单片机

    清翔老师的,讲的很好,强烈推荐

    开发板用的是普中的51

  STM32

    野火的,讲的超好,太过详细了,就是需要很大的耐心去看,再加上自己课后消化,打代码的时间,简直是煎熬

    到现在仍然没看完,剩下高级部分

    开发板用的是普中的STM32最小核心板(和51配套买的)

 

嵌入式系列

  LINUX C

    底层C语言,注意不是普通的,底层的C语言需要对内存操作,学的更加透彻

    文件IO、线程、进程、网络编程

  LINUX 系统

    bootloader、内核、文件系统

    这部分主要是看代码(明白每一步做了什么,这也是我学的最痛苦的部分),移植,学习汇编语言,敲出简单的汇编代码

  LINUX驱动开发

    字符驱动、输入子系统、USBFLASHIIC、平台开发、LCD/触摸屏

 

以上三部分都是看的是麦子学院的嵌入式开发,第一二三四阶段全看完(ROCKR老师的C语言真的讲的一级棒、还有后面的bootloader也是,绝了)

 

 

额外学习内容

  C++

    看的是小码哥的,真的讲的很好,很棒

  QT

    看的是黑马的

  C++STL

    看的是黑马的

    为了笔试刷题,否则用C语言就得手敲栈队列之类的

  PCB画板

    Altium Designer

 

后来比赛项目所学:

  物联网平台

  ESP8266

  arduino

 

所做的项目:

  电子万年历(STC89C52

  植物盆栽(STM32F103C8T6、机智云物联网平台)

  电子相框(LINUX ARM A系列 韦东山开发板JZ2440 S3C2440

  智能家居(ARDUINO ESP8266 NANO、阿里云物联网平台)

  网络文件传输(QT5.0

 

==============================分割线==============================

 以上便是我的学习历程。

现在我便以一个过来者的身份去推荐。

 

如果你想

从事单片机开发(51stm32,那么先不用碰C++/QT/嵌入式开发

  学习路线:

    需要学习底层C语言、数电、模电

    51系列可不学,但是学了51再学32,你就对32有另一种理解,就是51的升级版,更加复杂

    32建议学的是F4系列,懂了F4再去上手F1就有新的体验,也更好上手

    然后去专精32IIC/SPI/UART协议,时钟、定时器、看门狗、PWMUCOS之类的,再学习下传感器件的使用

    最后做几个项目,或者参加比赛就可以了(不然没人看你简历,后面讲简历具体讲)

    最后尝试画下PCBAltium Designer或者立创EDA画,在立创商城打板

 

如果你想

从事嵌入式开发,嵌入式又有具体分类,嵌入式软件嵌入式硬件嵌入式驱动

  但是很遗憾的告诉你,这都得懂一点,这里的都是指上面三个,还有单片机开发的知识

  学习路线:

    前期课程:底层Clinux、模电、数电、单片机

    应用层:文件IO、进程、线程、网络编程、C++C++STLQT

    硬件层:bootloader、内核、文件系统、移植、驱动开发、PCB画板

 

最后贴个某培训机构的路嵌入式的路线图

 

 

==============================分割线==============================

如果你学完单片机路线之后,发现很快就到大四,或者是大三下学期了

那么请别急往嵌入式方向发展,接下来就是重头戏了

如果你在大三下学期,那么恭喜你,你还有时间去完善

  赶紧参加一些比赛,拿奖,做项目,为简历做准备

  每天刷刷算法题、笔试题

  做完上面,就去接受社会毒打,参加上一届的春招(春招秋招概念看下一篇文章),每天固定投递量

  碰完壁后,好好总结,参加本届的秋招

  

==============================分割线==============================

写在最后:

  其实若是在大学期间,没有前辈的指导就真的只能一路碰壁,一路懊悔

  所以加入实验室,或者和师兄师姐多多交流才是王道,再或者上网找资料多多百度,心中就会有答案了

  但是各有的好吧(进实验室多少有点帮老师打工免费劳动力的意思,但是有资源啊,比赛、论文等等)

  单片机+嵌入式完整学完的话,个人觉得得本科+硕士才够时间,不然就只能匆匆忙忙,一知半解,各种熬夜去弥补时间的不足

  而当你学完之后,还得去准备简历、数据结构和算法和一些稀奇古怪的笔试题(刷牛客),面试

 

 

  ----记录于时间2021年3月18日