【单片机/嵌入式】最完整学习路线_嵌入式单片机学习过程

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

 一.什么是单片机什么是嵌入式它们之间的区别与联系。

        关于这个问题我在网上寻找到相关文章解释得很详细不了解的同学可以参考一下这篇文章到底什么是嵌入式什么是单片机 - 知乎

二.学习路线

        一个人学习是孤独的如果你是一名学生建议加入学校的电子社团或者实验室有老师的帮助和同学的互助能更好去提升自己多与同学组队参加项目比赛能收获更多的知识经验。

1.C语言! C语言! C语言!

        C语言可以说是贯穿整个嵌入式的核心程序语言想要学嵌入式C语言必须学会

推荐小甲鱼—带你学C带我飞

带你学c带你飞【小甲鱼c语言入门教学】_哔哩哔哩_bilibili

郝斌C语言

郝斌c语言入门教学第一部分_哔哩哔哩_bilibili

        初学者可以根据视频边学边敲代码初学阶段要学会掌握基本的函数数组语法关键词ifforwhile的使用即可指针与结构体部分可以在后期再进行补充学习。

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 AD5小时教学

0基础入门Altium designer AD5小时教学_哔哩哔哩_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还有立创EDAPADS,Allegro等PCB设计软件

仿真软件学习视频推荐

电路仿真proteus从0基础入门到精通完整版:

电路仿真proteus从0基础入门到精通完整版_哔哩哔哩_bilibili

10分钟学会PROTEUS绘制51单片机最小系统:

10分钟学会PROTEUS绘制51单片机最小系统_哔哩哔哩_bilibili

        在51单片机掌握熟练后可以去学习性能更强的STM32单片机了在学习前可以巩固复习一下C语言指针结构体链表方面的知识

推荐进阶书籍

  1. C专家编程
  2. C陷阱与缺陷
  3. C和指针

 

 STM32单片机学习视频推荐

野火stm32 零基础入门 霸道/指南者/MINI 入门篇 中级篇

【野火】stm32 零基础入门 霸道/指南者/MINI 入门篇 中级篇_哔哩哔哩_bilibili

野火stm32 零基础入门 霸道/指南者/MINI 提高篇 大师篇

【野火】stm32 零基础入门 霸道/指南者/MINI 提高篇 大师篇_哔哩哔哩_bilibili

STM32入门 正点原子mini板精英板教学视频完整版

stm32入门 正点原子mini板精英板教学视频完整版_哔哩哔哩_bilibili

开发小技巧

        在你真正的熟悉了51和STM32两款单片机再遇到其他单片机其实也是大同小异。当你拿到一块从未使用过的单片机并且需要快速开发一个项目时你需要网上搜索这块单片机的官网获取它的开发手册与例程然后项目开发上需要哪些部分例程就搬运哪些最后套进自己一套软件编写框架如状态机就可以开始写软件逻辑遇到单片机例程与寄存器配置问题时就在开发手册搜索关键词进行学习配置。

        在你拿到一块陌生的电子模块时可以选择去淘宝获取资料比如搜索这个温湿度模块在商品栏下拉就能获取这个模块的资料。

 

 

        如果你是一名在校大学生在学习完以上知识内容后可以去参加全国大学生电子设计大赛飞思卡尔智能车比赛物联网比赛等嵌入式相关的比赛来提高自己的项目经验或者自己做一些创意有趣的小项目。

        比赛的过程你可能会接触其他单片机比如arduinomsp430esp32等单片机

推荐

零基础入门学习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有自己的界面它的操作主要是命令行模式就像早期的DOSQt就是一个程序用来写界面上位机可以更好的实现人机交互控制

视频推荐

零基础入门六天学会QT完整版

零基础入门六天学会QT完整版_哔哩哔哩_bilibili

        ARM+linux也是像学单片机一样买板子看视频多做项目练习真正的大佬都是从工作项目中历练出来的。

        以上的嵌入式学习路线覆盖较广真正工作会被细分成硬件工程师软件工程师单片机rtos嵌入式linux应用嵌入式linux驱动等各个职业需要看自己对哪方面比较感兴趣然后精学那个方面的知识。

        一个人学习是孤独的如果你是一名学生建议加入学校的电子社团或者实验室有老师的帮助和同学的互助能更好去提升自己多与同学组队参加项目比赛能收获更多的知识经验。

欢迎加入

QQ交流群867069452

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6