单片机学到什么程度才可以去工作?

ops/2024/10/20 16:16:58/

说实话,10几年前,我自学单片机转行的时候,也是一头雾水,也是一边苦苦挣扎,一边迷茫的状态。

硬件、软件、编程...样样都需要学,连从哪儿开始都不知道,每次看到那些密密麻麻的电路图和代码,总有一个声音在脑子里:”这得学到猴年马月?学到什么程度才能去找工作?学完找不到工作咋整?”

自学的这些东西,到了公司,真能用得上吗?种种问题,感觉自己就像是被扔进了迷宫,转来转去都找不到出口。

我多希望能有人指点一下,告诉我该怎么学,学到什么程度才算够,哪怕只是一点点方向,也好过这样摸着石头过河啊。

有时候真的想放弃,但又走投无路,只能硬着头皮上,还好最后转成功了,一转眼也干了10几年技术了。

今天我就以过来人的身份,给新手一些方向,希望这篇文章,能助你你走出”迷宫”。

其实,要达到找工作的程度,没你想象的难,我们无际单片机有些老铁,在All in的情况下,花了大概4个月,就找到了工作。

如果是刚入行的情况下,当你能够完成以下流程时,你就已经具备了基本的就业能力:

1. 理解电路图

2. 编写相应的代码

3. 调试程序能力

下面,我来具体说下这几个方面应该掌握到什么程度。

1. 理解电路图

首先,看到复杂的电路不用怕,只要你把这些拆分成一个个模块,逐个理解,也没这么难,而且我们做软件,不需要懂为什么要这样设计。

你只要能看懂基本的元件符号,明白它们是怎么连接的就行。

比如,看到电阻、电容、二极管这些常见元件,你能认出来,知道它们大概是干嘛用的。

最重要的是,你得能找出单片机的各个引脚在哪,知道它们连接了什么,是什么信号或者协议,这样才知道程序要怎么写。

2. 编写相应的代码

理解电路图以后,要根据这个电路图,写程序实现相应的功能。

如果独立写,对你来说,估计很吃力,这个过程比较考验你的综合能力,比如对单片机外设的熟练度,实现功能的思路,实现思路的代码能力,最后是整合代码,怎么避免一些功能冲突的BUG。

所以,在工作前,一定要尽可能多做项目,把这些能力锻炼出来。

单片机最常用的外设和协议,无非就是GPIO、定时器、串口、中断、ADC、PWM、IIC、SPI。

可以说,学完这些,基本能覆盖80%的项目,但通过开发板学完这些,还远远不够,还得深度应用。

拿我们无际单片机项目1这个无线门磁探测器来举例,这个项目是最简单的了。

我们拿里面其中一个功能举例,比如发送EV1527的协议数据,数据波形如下。

实现思路是通过IO+定时器的组合,通过定时控制IO口高低电平的变换,再通过射频电路发送出去。

所以,单片机开发的难度,就在这里,外设很简单,但是要应用到实际产品,还涉及到行业特定知识,编程思维和代码水平。

再举个例子,串口这个外设。

我们无际单片机的项目6其中一个串口接了4g模块。

这个组合起来,复杂程度可以更高,比如通过4G模块实现打电话,发短信,连接我们云平台,实现OTA升级。

能把这些功能做出来,过程就能积累到非常多经验了,以后碰到串口接wifi模块、蓝牙模块、NBIot模块的项目,基本都能举一反三了。

只要你完整参与过一个项目,积累了一定经验,后续的学习别的就会容易得多。原理都是相通的,无非是应用场景和外设不同罢了。

为什么初学者入行难啊?

就是缺少这种实际应用,不具备来了就能上手的能力,企业培养成本和风险太高了。

刚开始,不一定非要具备独立写复杂的程序,但最低的标准,也是给你程序,你要能修改功能啥的,我第一份工作就是从修改别人代码开始。

3. 调试程序能力

这个阶段,你得能够使用开发环境(比如Keil MDK)来编译你的代码。当然,编译错误是难免的,关键是你要能看懂错误提示,并且有能力去修复它们。

调试的话,最基本的是会用断点,能一步步运行程序看变量的值变化,这个对于调试设计指针的高阶代码非常有用和高效。

最近发现,很多私聊我学单片机的小伙伴,99%的人都走了弯路,所以我花几个小时,写了一篇保姆级学习路线^ ^

单片机怎么学?保姆级学习路线(附教程+工具)icon-default.png?t=O83Ahttps://blog.csdn.net/2401_86645590/article/details/141437874


http://www.ppmy.cn/ops/119814.html

相关文章

python模块之getopt

getopt.getopt(args, shortopts, longopts[]) 解析命令行选项及参数列表。 args:要解析的参数列表,但不包括当前执行的python脚本名称,一般等同于sys.argv[1:]。 shortopts:要识别的短选项字符串,如果后接:表示需要…

滚雪球学Oracle[3.1讲]:Oracle SQL基础

全文目录: 前言0. 上期回顾1. SQL语言基础1.1 SQL语法的全面解析1.2 子查询与嵌套查询的优化策略1.3 SQL语句的执行计划与调优分析 2. 查询与数据操作基础2.1 复杂查询的优化:索引与查询重写2.2 DML操作中的锁定机制与并发控制2.3 批量数据处理的最佳实践…

【qt】QQ仿真项目1

一览全局: QQ仿真项目 一.创建项目添加资源文件二.创建数据库三.自定义标题栏Qt类四.加载样式表标题栏按钮的搭配五.标题栏实现移动窗体六.标题栏按钮连接信号槽七.标题栏双击最大化和还原八.基类窗口实现标题栏按钮信号九.重写基类窗口绘图事件确保设置样式表生效十.用户登录界…

基于Hive和Hadoop的共享单车分析系统

本项目是一个基于大数据技术的共享单车分析系统,旨在为用户提供全面的单车使用信息和深入的出行行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 S…

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓

文章目录 基于FlinkHologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓​编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业OD…

PostgreSQL 中的公用表表达式(CTE)学习指南

在现代数据库管理中,SQL 查询的复杂性不断增加,尤其是在处理多层嵌套查询和递归查询时。为了提高查询的可读性和维护性,PostgreSQL 提供了一种强大的工具——公用表表达式(Common Table Expressions,简称 CTE&#xff…

【Docker】01-Docker常见指令

1. Docker Docker会下载镜像,运行的时候,创建一个隔离的环境,称为容器。 docker run -d \ # 创建并运行一个容器,-d表示后台运行 --name mysql \ # 容器名称-p 3307:3306 \ # 端口映射,宿主机端口映射到容器端口-e TZ…

视频美颜SDK与直播美颜工具API是什么?计算机视觉技术详解

今天,小编将深入探讨视频美颜SDK与直播美颜工具API的概念及其背后的计算机视觉技术。 一、视频美颜SDK的概念 视频美颜SDK是一套用于开发实时美颜效果的工具集,开发者可以利用它在视频流中实现面部特征的优化。这些SDK通常提供了一系列功能&#xff0c…