【唠唠嵌入式】__如何学习单片机?

目录

前言

个人定位,从事软件还是硬件?

学习内容

(* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。


前言

作为一个老司机,多年来跟单片机KeilC语言AD烙铁风枪示波器电子元器件纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头发。

当初熬夜点亮了一个LED,像这样一个个小小成就感让我砥砺前行。

刚开始并不看好这个行业,事儿多工资少,需要不停地学习新知识。前几年熬夜焊板子,一边工作一边咒骂。

个人定位,从事软件还是硬件?

一般实际工作开发一款产品的时候,绝对不可能一个人从头到尾把产品做了。一般有的人负责硬件部分、有的人负责软件部分,这也是单片机开发的两大方向。

相关推荐:嵌入式行业那些坑与出路。

入行单片机开发,技能要有所倾向,将来要做硬件工程师还是软件工程师?

为什么要有软硬件之分呢?实际上大厂都是分工精细的,这样使工作内容流程化、简单化,提高工作效率。另外也提高了公司业务的稳定性,即使有人突然离职也不会造成太大影响。

有些产品光程序这块就够你折腾一个月了,如果你又做外壳设计,又做硬件设计,又做软件。等产品出来的时候,客户可能都不在了。

所以,一个产品,最低配也是一个硬件工程师和一个软件工程师。

一个全能的人,除非在行业深耕很多年,不然很难所有东西都学精,所以大多数都是只懂皮毛,能把东西做出来,但很难优化到专业的水平。

看完上面你是否已经知道,不管你想从事任何行业,首先定位是非常重要的。

在定位之前你必须要去了解这个行业的现状,有哪些职位?

那单片机开发的职业定位有硬件工程师单片机软件工程师

当然硬件做好了,收入分分钟秒杀软件,但硬件做好还是很难的,至少不是你看视频和看书能做好的,而是要遭受无数实际产品的毒打。

而且现在电路集成化都很高了,新手从事硬件很难接触到核心的技术。

还不如先从软件开始,工资也高,反正做单片机开发,即便你做软件,也是天天在调硬件,调多了,你也就懂了。

搞硬件就不一样了,一般很难接触到程序上的东西,即便接触构不成体系。

学习内容

有了清晰的定位以后,我们接下来就要根据这个定位去制定我们系统的学习路径。制定学习路径的目的有2个:

  1. 避免走弯路
  2. 规划好时间,鞭策你执行

    结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:

  • C51单片机/STM32单片机

  • C语言

  • 能看懂原理图

  • 基本焊接能力

    下面说一下为什么很多人在开发板上把每个外设例程都学完了,但是还是感觉自己啥都不会?

    你缺乏的是一定的产品思维,就是实现一个功能的思路。要解决这个问题就是做项目,没有别的捷径。

    老话说行百里者半九十,单片机外设、C语言、电路原理、焊接能力,实际上这些只是为上手项目做铺垫。

    单片机外设的学习相对简单,买一个开发板,把每个外设的例程跑几遍之后心里就有个大致了解。把单片机的每个外设的实际应用场景你都亲手写一遍,下次你再碰到同样的功能需求时就知道怎么去解决了。


(* ̄︶ ̄)创作不易!期待你们的 点赞收藏评论喔。

本文来源网络,免费分享知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网渗透-域信息收集

域环境 虚拟机应用:vmware17 域控主机:win2008 2r 域成员主机:win2008 2r win7 一.域用户和本地用户区别 使用本地用户安装程序时,可以直接安装 使用域用户安装程序时,需要输入域控管理员的账号密码才能安装。总结…

【优选算法系列】第一节.哈希表简介(1. 两数之和and面试题 01.02. 判定是否互为字符重排)

文章目录 前言一、哈希表简介二、两数之和 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写三、判定是否互为字符重排 3.1 题目描述 3.2 题目解析 3.2.1 算法原理 3.2.2 代码编写总结 前言 一…

【QT开发(17)】2023-QT 5.14.2实现Android开发

1、简介 搭建Qt For Android开发环境需要安装的软件有: JAVA SDK (jdk 有apt install 安装) Android SDK Android NDKQT官网的介绍: Different Qt versions depend on different NDK versions, as listed below: Qt versionNDK…

编程助手DevChat:让开发更轻松

#AI编程助手哪家好?DevChat“真”好用 # 目录 前言一、安装Vscode1、下载链接2、安装 二、注册DevChat1、打开注册页2、验证成功完成邮箱绑定3、绑定微信可获得8元 三、安装插件四、配置Access Key1、获取Access Key2、设置Access Key①、点击左下角管理&#xff08…

一种使用wireshark快速分析抓包文件amr音频流的思路方法

解决方案: 1. 使用wireshark过滤amr,并导出原始数据文件; 2.使用ue的二进制编辑模式,编辑该文件,添加amr头,6个字节数据“#!AMR”,字节数据为 23 21 41 4D 52 0A 3.修正格式:通过抓包发现&#…

Linux--jdk,tomca,mysql安装、后端项目搭建

一、JDK和Tomcat的安装 1.JDK安装 直接上传到Linux服务器的,上传jdk、tomcat安装包 解压JDK安装包 //解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 置环境变量(JAVA_HOME和PATH) vim /etc/profile 在文件末尾添加以下内容: //java environment expo…

torch.div()不支持rounding_mode参数

问题怎么定位的呢,把报错信息一股脑甩给chatgpt,问他什么意思,他就反馈说“在标准的Python库中,div() 函数不接受 rounding_mode 参数。”(虽然这个问题也不难,但是改偷的懒还是要偷) 问题再现…

代码随想录算法训练营第四十天丨 动态规划part03

343. 整数拆分 思路 看到这道题目,都会想拆成两个呢,还是三个呢,还是四个.... 来看一下如何使用动规来解决。 动态规划 动规五部曲,分析如下: 确定dp数组(dp table)以及下标的含义 dp[i]…

杂货铺 | 报错记录(持续更新)

文章目录 ⚠️python SyntaxError: Non-UTF-8 code starting with ‘\xb3‘ in file⚠️partially initialized module ‘‘ has no attribute ‘‘(most likely due to a circular import)⚠️AttributeError: ‘DataFrame‘ object has no attribute ‘append‘ ⚠️python S…

loadsh

官网(当前版本4.x)Lodash Documentationhttps://lodash.com/docs/4.17.15 简介 Lodash是一个著名的javascript原生库,不需要引入其他第三方依赖。是一个意在提高开发者效率,提高JS原生方法性能的JS库。简单的说就是,很多方法loda…

linux jdk配置

1.下载jdk ,以jdk1.8为例子 Java Downloads | Oracle JDK 8 Update Release Notes (oracle.com) 2.配置环境变量 1.编辑命令 vi /etc/profile 2.在最后加入下面配置 export JAVA_HOME/opt/jdk1.8.0_144 export PATH${JAVA_HOME}/bin:$PATH export CLASSPATH.:$…

解决【spring boot】Process finished with exit code 0的问题

文章目录 1. 复现错误2. 分析错误3. 解决问题 1. 复现错误 今天从https://start.spring.io下载配置好的spring boot项目: 启动后却报出如下错误: 即Process finished with exit code 0 2. 分析错误 Process finished with exit code 0翻译成中文进程已完…