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

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

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

二.学习路线

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

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语言指针,结构体,链表方面的知识,

推荐进阶书籍:

  1. C专家编程
  2. C陷阱与缺陷
  3. 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381382.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

大学学习历程简单总结

一、主要学习经历: 2017年9月进入大学: 最开始自己对大学的认识是一种特别仰慕的感觉,并且当时自己认为在大学里面是做各种各样的研究和学习的,并且认为只有对科研特别喜欢而且拥有天赋的大学生才能去升学为研究生; 进…

“机器学习”名字的由来

阿瑟萨缪尔(Arthur Samuel, 1901-1990) 阿瑟萨缪尔是人工智能研究的先驱。 从1949年到1960年代后期,他在让计算机从经验中学习方面做了最出色的工作,而他的研究工具是跳棋游戏。(玩游戏的程序通常在人工智能研究中扮演果蝇在遗传学中所扮演的…

【Unity每日一记】让一个物体按余弦曲线移动—(三角函数的简单运用)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

Bootstrap 样式之 文本颜色

Bootstrap 自定义的文本颜色 源码查看&#xff08;测试版本3.x&#xff09; ------------------------------------------------------------ 先来看看bootstrap自定义的文本颜色是什么样的&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh-C…

A. Red Versus Blue

https://codeforces.com/contest/1659/problem/A input 3 7 4 3 6 5 1 19 13 6output RBRBRBR RRRBRR RRBRRBRRBRRBRRBRRBRinput 6 3 2 1 10 6 4 11 6 5 10 9 1 10 8 2 11 9 2output RBR RRBRBRBRBR RBRBRBRBRBR RRRRRBRRRR RRRBRRRBRR RRRBRRRBRRR题意 T组询问&#xff…

new、new[]和new()

文章目录 new是怎么调用的&#xff1f;那么delete呢&#xff1f;new[]和delete[]为什么要成对使用&#xff1f;注意到了operator new和operator delete~new()怎么用&#xff1f;delete()有点复杂 new是怎么调用的&#xff1f; 这里是一条new的使用语句&#xff1a; A *pc ne…

Bootstrap颜色对应对照表

Bootstrap自带颜色&#xff1a;class "bg-xxx" bg-red红色bg-yellow黄色bg-aqua湖绿色bg-blue蓝色bg-light-blue浅蓝色bg-green绿色bg-navy藏青色bg-teal青色bg-olive橄榄色bg-lime荧光绿 bg-orange橙色bg-fuchsia紫红色bg-purple紫色bg-maroon红褐色bg-black黑色b…

BLE蓝牙

简介 重点了解GAP、ATT、Link Layer&#xff0c;其它有个简单认识即可 1. 什么是蓝牙主从关系&#xff1f; BLE蓝牙的角色有以下几种&#xff1a;广播者&#xff08;duAdvertise&#xff09;、扫描者&#xff08;Scanner&#xff09;、从设备zhi&#xff08;daoSlave&#x…

Bootstrap 样式之 元素背景颜色

在Bootstrap中既有文本颜色的样式也有元素背景颜色的样式&#xff0c; 我们先来看看元素背景的颜色有哪几种&#xff1f; 一共五种背景色&#xff1a;分别是 bg-primary bg-success bg-info bg-warning bg-danger 代码&#xff1a; <!DOCTYPE html> <…

HTB-Nibbles

HTB-Nibbles 信息收集开机 信息收集 nmap ssh 22http 80 gobuster和dirbuster 看看源码 一眼看到admin.php nmap sshhttp 看网页源码 nibbleblog gobuster和dirbuster admin.php一堆文件 开机 边查找文件边尝试了几个登陆密码&#xff0c;但是这几个密码都失败了。…

Bootstrap 颜色

一、Bootstrap 颜色 1.1 基本颜色 Bootstrap4 提供了一些有代表意义的颜色类&#xff1a;.text-muted, .text-primary, .text-success, .text-info, .text-warning, .text-danger, .text-secondary, .text-white, .text-dark and .text-light: <div class"container&q…

NewBlueFX TotalFX7 v6.0.200108 (x64) for AE/Premiere WIN版本

用于Adobe AfterFX和Premiere Pro WIN的NewBlueFX TotalFX7 v6.0.200108&#xff08;x64&#xff09; TotalFX具有177种效果的1,500多个预设。这是我们最全面的字幕工具&#xff0c;过渡&#xff0c;过滤器和视频编辑插件套件。获取所有NewBlue视频效果集合的功能齐全的Ultima…

BNext

又搬来了大神器啊 来自德国HassoPlattner计算机系统工程研究院的NianhuiGuo和HaojinYang等研究者提出了BNext模型&#xff0c;成为第一个在ImageNet数据集上top1分类准确率突破80%的BNN。 两年前&#xff0c;依靠早期 BNN 工作 XNOR-Net 起家的 XNOR.AI 被苹果公司收购&#…

HybridCLR 热更新介绍

HybridClr介绍 C# -> HybridCLR 热更新介绍 以下讲简单阐述下个人理解的Hclr的相关知识&#xff0c;以及在使用中遇到的坑点. 在使用HybridCLR 前的一些基本知识储备 为了方便下文的更好的理解,建议大家先简单过一下下文的一些名称和一些简单的知识点&#xff1a; Comm…

tkinter文件对话框

文章目录 文件对话框文件对象文件类型其他参数 tkinter系列&#xff1a; GUI初步&#x1f48e;布局&#x1f48e;绑定变量&#x1f48e;绑定事件&#x1f48e;消息框扫雷小游戏&#x1f48e;强行表白神器 文件对话框 filedialog提供了多种与文件交互相关的对话框&#xff0c…

bluestore

BlueStore BlueStore 架构及原理分析 Ceph 底层存储引擎经过了数次变迁&#xff0c;目前最常用的是 BlueStore&#xff0c;在 Jewel 版本中引入&#xff0c;用来取代 FileStore。与 FileStore 相比&#xff0c;Bluesore 越过本地文件系统&#xff0c;直接操控裸盘设备&#x…

Bootstrap系列之颜色(Colors)

文章の目录 1、字体颜色2、背景颜色3、背景渐变写在最后 通过少量的颜色类来传达颜色的含义。还包括对具有悬停状态的链接样式的支持。 处理专一性 有时由于另一个选择器的专一性而不能应用上下文类。在某些情况下&#xff0c;一个足够的解决方法是用类将元素内容包装在<div…

Bluethooth

阅读时长10分钟 蓝牙技术是一种近距离无线连接技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。 历史&#xff1a;蓝牙技术是世界著名的 5 家大公司一爱立信(Ericsson)、诺基亚(Nokia)、东芝(Toshiba)、国际商用机器公司(IBM)和英…

NewBlue Titler Pro 7不能预览 预览黑屏

问题描述 最近在剪辑视频 使用“NewBlue Titler Pro 7 Ultimate 7.4.201109”和谐版增加字幕时&#xff0c;出现字幕刚开始可以预览&#xff0c;动几下鼠标预览窗口卡死&#xff0c;随后黑屏。 解决方式 折腾之后发现用的版本不对&#xff0c;更换为下面的版本后可以正常使用…

华为od统一考试B卷【九宫格按键输入法】Python 实现

所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录 题目 九宫格按键输入,判断输出,有英文和数字两个模式,默认是数字模式,数字模式直接输出数字,英文模式连续按同一个按键会依次出现这个按键上的字母,如果输入”/…