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

article/2025/10/23 3:46:18

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

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

二.学习路线

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

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://chatgpt.dhexx.cn/article/dGW1h3cl.shtml

相关文章

STM32理论 —— 看门狗

文章目录 1. 简述2. 独立看门狗 IWDG2.1 IWDG 相关寄存器2.1.1 键值寄存器IWDG_KR2.1.2 预分频寄存器IWDG_PR与重装载寄存器IWDG_RLR 2.2 核心代码 1. 简述 STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG&#…

STM32看门狗配置说明

系统时钟: The WWDG clock is prescaled from the APB clock and has a configurable time-window that can be programmed to detect abnormally late or early application behavior. /** defgroup WWDG_Prescaler WWDG Prescaler* {*/ #define WWDG_PRESCALER_1…

看门狗要素以及stm32看门狗

阅读看门狗资料,要把握以下部分 原理图复位CPU条件使能以及关闭看门狗喂狗(方式 时间)寄存器Debug模式下是否使能stm32包括2个看门狗,拥有不同的时钟 内置 low-speed clock (LSI 40KHZ) ,用于 Independent watchdog …

STM32 CubeMX 看门狗

文章目录 看门狗STM32的内置看门狗WWDG-窗口看门狗CubeMX操作步骤1)使能 WWDG时钟2)设置窗口值 ,分频数 和计数器初始值3)开启 WWDG4)使能中断通道并配置优先级(如果开启了 WWDG中断)5) 编写中断…

关于我对stm32看门狗的一些理解(基于正点原子)

咕咕咕之后想更会儿stm32哈哈哈,但是其实是之前自己写的笔记,想着以后就写在一起吧,我自己也更好去找到自己写的玩意~毕竟总所周知,博客都是写给自己的。 (虽然好像现在自己都看不懂了我的天哪) 一.什么是…

stm32看门狗的定义与分类

stm32看门狗 一、定义 由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料…

STM32看门狗超时时间计算

独立看门狗 公式 超时时间的公式为 :超时时间 :IWDG_PR寄存器中位2:0的十进制值 :重装载寄存器IWDG_RLR所对应的重装载数值 公式解读 首先,我们要明白: 独立看门狗内部是一个递减计数器。如果寄存器中的装载数值…

5.stm32看门狗

1. STM32-独立看门狗IWDG剖析 2. STM32-独立看门狗实例讲解 3. STM32-窗口看门狗WWDG剖析 4. STM32-窗口看门狗实例讲解 一.基础原理 1. 简单理解: 使用LSI(外部低速时钟),计数,及时喂狗不会复位(看门狗没有减到0喂狗,就认为程序正常工作),不及时喂狗就会导致复位. 2. 看…

STM32——看门狗

一、简介 STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产…

单片机STM32看门狗详解(嵌入式学习)

单片机STM32看门狗 什么是看门狗为什么需要看门狗?STM32CubeMX配置和应用示例独立看门狗(IWDG)窗口看门狗(WWDG) 注意事项 什么是看门狗 单片机STM32的看门狗(Watchdog)是一种硬件定时器&#…

STM32配置看门狗

一、看门狗时间计算公式 时间计算(大概):Tout((4*2^prer)*rlr)/40 (ms). prer:分频数:0~7 rlr:重装载寄存器值 举例(4 * 2^4 * 625) /401000ms1s 二、如何实际使用? 放狗和喂狗总是一起使用的,程序在溢出时间内喂狗才算合理 在…

stm32看门狗定时器记录

文章目录 1、看门狗介绍2、独立看门狗3、窗口看门狗 1、看门狗介绍 STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗。 独立看门狗简单来说就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位…

STM32看门狗(独立看门狗与窗口看门狗)

简介 STM32 有两个看门狗,一个是独立看门狗(IWDG)另外一个是窗口看门狗(WWDG),独立看门狗号称宠物狗,窗口看门狗号称警犬。 独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器&#…

STM32看门狗简述

概述 看门狗一般分为硬件看门狗和软件看门狗,主要用来解决程序CPU异常,程序跑飞挂死等问题,提高系统的可靠性。 硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗…

STM32看门狗作用

STM32F103 独立看门狗 学习笔记 引言 STM32是一系列基于ARM Cortex-M处理器的微控制器。看门狗(Watchdog)是STM32的一个重要功能模块,它能够帮助程序员实现系统的可靠性和稳定性。 看门狗的作用 在嵌入式系统中,软件有时会因为…

STM32看门狗详解

看门狗的作用:防止单片机因未知原因死机或比我们预期的时间过长长时间不能响应,如果出现这种问题,看门狗就会把单片机复位 独立看门狗(IWDG): 时钟来源:内部低速时钟(LSI&#xff0…

STM32看门狗

STM32处理器内置了2个看门狗: 独立看门狗 IWDG (Independent Watchdog) 窗口看门狗 WWDG (Window Watchdog) 独立看门狗由LSI低速时钟提供 40kHz ,主时钟出故障也不影响,常用IWDG复位电路。 窗口看门狗由APB1分频后提供,主时…

【STM32】看门狗模块

🐱作者:一只大喵咪1201 🐱专栏:《STM32学习》 🔥格言:你只管努力,剩下的交给时间! 📃看门狗概述 什么是看门狗: 在由单片机构成的微型计算机系统中&#x…

【STM32】stm32独立看门狗(IWDG)

stm32独立看门狗(IWDG) 0x01 IWDG简介0x02 IWDG主要性能0x03 IWDG寄存器配置 0x01 IWDG简介 STM32F10xxx内置两个看门狗,(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,…

STM32 看门狗详解

目录 1、IWDG 1.1 独立看门狗简介 1.2 独立看门狗的特点 1.3 独立看门狗功能描述 1.4 硬件看门狗 1.5 寄存器访问保护 1.6 调试模式 2、WWDG 2.1 简介 2.2 窗口看门狗主要特点 2.3 窗口看门狗功能说明 2.4 如何设置看门狗超时 2.5 调试模式 3、区别 1、IWDG 1.1…