单片机入门到高级开挂学习路径(附教程+工具)[通俗易懂]

单片机入门到高级开挂学习路径(附教程+工具)[通俗易懂]一、先帮大家解答几个问题:1.单片机是什么?答:单片机就是一个微型CPU,把程序烧录芯片里面,通过控制不同的外围电路实现不同产品的功能。2.学单片机编程对数学英语有要求吗?答:数学会基本的加减乘除就行,英语会认单词a-z就行,很多外行人看到代码里一堆英文就头嗡嗡响,其实不然,只有少数语法是固定的,大多数英文都是工程师自己定义的,比如大神你也可以定义成DaShen(中文缩写)。那很多人此时就开始质疑,当初这么辛苦学数学和英语到底是为毛?数学和英语不是单片机开发的门槛,但却决定你以后能达到的高度,

大家好,又见面了,我是你们的朋友全栈君。

一、先帮大家解答几个问题:

温馨提醒:文章所有资料在【无际单片机编程】公众号获取。

1. 单片机是什么?
答:单片机就是一个微型CPU,把程序烧录芯片里面,通过控制不同的外围电路实现不同产品的功能。

2. 学单片机编程对数学英语有要求吗?
答:数学会基本的加减乘除就行,英语会认单词a-z就行,很多外行人看到代码里一堆英文就头嗡嗡响,其实不然,只有少数语法是固定的,大多数英文都是工程师自己定义的,比如大神你也可以定义成DaShen(中文缩写)。
那很多人此时就开始质疑,当初这么辛苦学数学和英语到底是为毛?数学和英语不是单片机开发的门槛,但却决定你以后能达到的高度,如果你数学和英语不行,那么月薪20K可能就是你的巅峰了,如果很好,那么上限还有很大的空间。

3. 单片机好学吗?
答:看你怎么学,互联网的好处就是什么资源都能搜集到,相反的也容易迷惑世人,资料太多眼花缭乱让你无从下手,今天,我特意花了1周时间精心整理出一套让你快速学会达到月薪过万的视频教程资料,免费分享给大家。

4. 没有基础可以自学吗?大概多久能学会?
答:我曾经是自学入行的,什么C语言,什么单片机,什么二极管、三极管、电阻电容等等一窍不通,2011年毕业通过2个月时间自学然后直接从事开发工作。

5. 从学完到月薪过万要多久?
答:我第一份工作是2011年,当时月薪只有1.8K,半年后5K,当时消费水平没现在这么高,房价也便宜,按目前的通货膨胀一线城市目前正常只要死磕1年就能月薪过万,如果能找个人带你会成长地更快,我去年带了12个学员,除了几个自己放弃的,上班的全部月入过万。

6.单片机真的像劝退帖子说的工资这么低吗?
答:我看了某乎,某吧,有很多劝退学单片机的,说既要懂硬件,又要会编程,屁事多工资还低。

我从事单片机开发近10年,来说句公道话,在之前确实跟纯软件有比较大的差距,但是现在差距越来越小的。

我有几个做Java App开发的朋友,同样码龄,但是工资却没单片机开发的高,我身边做单片机开发20K以上的也很多。
所以只要有能力,其实薪资并不会低。

6. 我适合学单片机吗?
答:如果你没钱、没资源、没技术、每天还从事机械化没前途的工作中浪费青春,又想找一个能够养活自己和家人,可持续发展,能不断为你提供现金流的工作那就合适,抛开兴趣先不说,主要看你现在够不够穷。

7. 怎么学?
答:说了这么多终于到重点了,以前我就走了很多弯路,不知道该怎么入手去学习,后面慢慢研制出最骚学法,让你直接开始飙车。

首先,我们问问自己学这个来干嘛?当然是找工作赚钱!对,这个就是核心, 知道这个道理那我们马上开始实践,打开找工作的相关网站或APP,直接搜索职位:单片机工程师。

然后看我勾选出来公司对该职位的需求,我们只要找出共同点针对这些需求去学就行了,结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:

  • C51单片机/STM32单片机
  • C语言
  • 能看懂原理图
  • 基本焊接能力

根据以上关键字给大家总结出一套系统学习流程和教程,达到一针见血的目的。

二、学习准备

  • 一台电脑
  • 一套STC51开发板
  • 教程资料包

后期如果想进阶则需要一套STM32开发板。

三、学习步骤

第一步: 教程资料整体架构
在这里插入图片描述

第二步:学基础电路
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

学电路的时候注意不要全部教程看完!不要全部教程看完!不要全部教程看完!

因为模电你让我现在看也看不懂(太TM难了,单片机开发实际用的很少,很少。。),很多人从入门到放弃就是在这一步!!!

只需要知道电阻电容、二极管、三极管相关的作用就行。

如电阻串联分压功能、电阻并联分流功能,三极管的开关条件和基本电路。为后面学单片机做好铺垫。

第三步:学习C51单片机和C语言

C语言和51我基本是看郭老师的视频入门的,当然如果你觉得他的C讲的还差那么点意思,我还有更详细的。
在这里插入图片描述

在这里插入图片描述

第四步:学习用AD软件
在这里插入图片描述

一般公司会配一个硬件工程师和软件工程师,对单片机软件开发来说前期只需要学到原理图设计即可。

第四步:用C51做一个电子闹钟
闹钟功能:用数码管显示当前时间,系统掉电重启后从断电时时间开始计时,可以通过按键设置时间和1组闹钟时间,时间到蜂鸣器报警提醒。

这一步也非常重要,其重要性不亚于高考,一个项目能考验你思维,怎么将各个模块代码整合起来成为一个产品,完成后对你进步非常大。

第五步:学习STM8和STM32单片机(进阶)

对于STM8,很多人可能觉得没必要学,但其实实际产品开发用的还挺多的。特别是低功耗的产品,STM8L系列是真的香,我自己开发过好几款。

所以,要不要学自行选择,学也很简单。
在这里插入图片描述

在这里插入图片描述

STM32的还有几个截图,就不发了。。。

那STM32因为功能比较多,当你有把这个芯片吃透这个想法的时候,其实你已经掉坑了。很多学了其实到工作根本用不到,比如说CAN,USB这些,现在学就是浪费时间,等你用的时候又忘了。

我们前期只需要学必备的GPIO、时钟、中断、Timer、Usart、IIC(只用模拟)、SPI、DMA这些常用的就可以了。学到什么程度呢?我个人认为只要懂原理,能用起来就够了。是不是觉得瞬间轻松很多(嘤嘤嘤)!

毕竟行业变化太快,说不定明年ST的就被干了,所以对于单片机我一直提倡会用就行。

真正的核心是编程以及你程序的架构,和最新的领域,比如说物联网,然后再学设计硬件,做个全栈工程师,逼格和薪资都蹭蹭蹭往上涨。

四、高级程序架构进阶

前面这些都是网上收集的教程,因为已经讲的非常完善了,没必要重复去讲,而且自己去讲未必有他们讲的好,缺点就是都是入门或者中级的教程。

很多产品开发当中的问题并不能很好地解决,所以我在19年随便录了一套原创课程。
在这里插入图片描述

本课程内容源于我研发的多款物联网网关设备程序精华总结, 这些产品都稳定运行在我编写的一个轻量级系统架构上, 这个轻量级系统架构课程基于 Keil5+STM32F103 系列,并且适用于51单片机。

课程前半部分讲解 C 语言高级语法枚举、结构体、指针, 通过这些语法手把手教大家编写一套轻量级系统的内核, 其中涉及到链表、队列算法、回调函数、任务管理等功能。

教程后半部分是项目实战部分,把产品典型应用如 LED、按键、串口通讯移植到该系统内核结合成一个产品功能。这里的移植不是简单的点亮一个灯或者检测一个按键,又或者是串口收发一个字节数据。

而是从实际产品的需求和痛点出发,考虑功能可扩展性和移植性为前提条件
实现批量 LED 或者按键一些复杂的功能。

比如每个 LED 可以实现每隔 3 秒快闪 2 次代表信号正常,或者闪 2 次以后熄灭代表探测器学习成功指示。

比如每个按键可以检测短按、短按释放、长按、长按释放等。

比如串口收发使用独家队列算法处理,能够满足物联网大数据流传输情况不
丢一个字节的需求。

代码使用系统内核+应用层+硬件层模块化编程思维,不依赖于任何一款片,移植性好,代码复用性极强,产品开发只需要复制粘贴代码,大大缩短
产品开发周期。

并且经过 5 年以上,数十款上市产品批量验证,稳定放心! 最重要的是免废!免废!免废!

五、常用工具

除了这些视频教程以外,我还整理了相应的开发工具和开发板,以上每个单片机都对应一个开发板,每个模块都对应一个参考程序。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132341.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 介绍你所使用的linux系统_linux系统官网

    介绍你所使用的linux系统_linux系统官网简介作者:刘明,软件工程师,上海交通大学通信与电子工程系本文讲解SNMPTrap,在介绍Trap概念之前,首先认识一下SNMP吧。简单网络管理协议(SimpleNetworkManagementProtocol)是一种应用层协议,是TCP/IP协议族的一部分。它使网络设备之间能够方便地交换管理信息。能够让网络管理员管理网络的性能,发现和解决网络问题及进

  • nginx 转发websocket_nginx配置websocket

    nginx 转发websocket_nginx配置websocketnginx入门之简易,相信用过的同学都会有体会,没有复杂安装,没有庞大的配置文件,在nginx.conf配置一下,就可以提供不同类型的服务。本文简单描述下如何转发(反向代理)一个socket服务。将要配置一个如上图示的转发服务。在nginx.conf文件,与events平行的级别,配置一个stream#evnets是配置文件已有内容events{ worker_connec…

  • 使用()命令来启用FTP服务_windows播放ftp

    使用()命令来启用FTP服务_windows播放ftp首先是win10控制面板–》程序–》启用或关闭windows功能找到Internetinformationservice(信息服务),并选中“FTP服务”、“FTP扩展性”和“IIS管理控制台”前的复选框,点击“确定”在C盘创建一个FTP共享文件夹,名字自定义接下来是控制面板–》系统和安全–》管理工具–》InternetInformationServices(IIS)管理器如下图所示,鼠标右键红框地方添加FTP站点站点名称自定义,路径选择先前创建的文件夹,

  • 基本开关电路

    一、晶体管开关电路:是一种计数地接通-断开晶体管的集电极-发射极间的电流作为开关使用的电路,此时的晶体管工作在截止区和饱和区。当需要输出大的负载电流时,由于集电极电流(负载电流)是放大基极电流而来的,所以必须能够从输入端提供大于1/Hfe的基极电流,这对于输出端的大负载电流情况下的基极驱动电路就无能为力。因此可以采用达林顿管来解决这个问题,达林顿管是一种复合管,它的直流放大倍数Hfe非常大…

  • python suds_在python3.x上安装suds 并访问webservice「建议收藏」

    python suds_在python3.x上安装suds 并访问webservice「建议收藏」suds。。。py3很乱。。一开始直接使用命令行:pipinstallsuds安装,结果报错ImportError:Nomodulenamedclient,然后就自然的pipinstallclient,然后成功了,pipinstallsuds安装,这下成功安装了。但是在python里虽然能importsuds。。但不能fromsuds.clientimportClien…

  • 省市区三级联动数据库_牧羊人之心舰r联动炼金配方

    省市区三级联动数据库_牧羊人之心舰r联动炼金配方<template><div>省市区联动<Cascadertrigger="hover"placeholder="请选择您的城市"style="width:238px;display:inline-block;":data="provs"v-model="formValidate.cityId"

    2022年10月29日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号