终于大学毕业了,聊聊这些年学嵌入式的体会吧。

2023-10-17 12:20

本文主要是介绍终于大学毕业了,聊聊这些年学嵌入式的体会吧。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

猛男如何学嵌入式,关注@我要学嵌入式,嵌入式男人的加油站。

01 


前言

大家好,我是张巧龙。今天转载的这篇文章来自一个本科生,在嵌入式学习上有自己独到的心得体会。

以下是正文:

发这篇文章主要是针对大学刚接触嵌入式的同学。

很多新手觉得嵌入式入门并不容易,牵扯的内容、知识点太多。

像C语言基础是否掌握?汇编语言是否了解?电路原理学的怎么样,能看懂接单的电路图吗?AD软件学的怎么样,能画电路吗?

本文主要包括以下内容:

  • 嵌入式的前景

  • 如何入门嵌入式。

  • 怎么才算是掌握一个单片机

  • 学习单片机的最快途径    

02 


嵌入式前景

用一种说法,下一个时代是物联网的时代,以后的生活一定是智能的、万物互联的,所有的家电都会集中到一个终端上,通过这个终端就可以控制周围的一切,就像扎克伯格为自己家的设备写的一套系统一样,通过一个语音助手就控制整个家。

这些智能设备都需要我们嵌入式开发者来做,把那些设备嵌入进程序,让它们任你控制。

最近华为、中兴的芯片事件刺痛了每一个国人的心。华为因为被美国制裁,麒麟芯片将成为绝版,因为以国内的技术、设备、工艺水平无法生产7纳米芯片。在芯片领域,国家投入几千亿来做,这方面人才非常稀缺。


传闻阿里收购了唯一自主嵌入式 CPU IP Core 公司中天微,就是想做芯片,解决我们的无 “ 芯 ” 之痛。我们学习嵌入式正好可以用的上。

嵌入式以后的工作是可以动手做自己想做的东西,而且是很智能的设备,开发出来一款设备岂不是很爽,比如门禁,热敏打印机,电子手表,扫地机器人等等。


嵌入式学习的有软件知识还有硬件知识,当看到学习的是可以实际操作的单片机后就感觉不错了。

前景也好,前面说过了,不用担心找不到工作。

最后真正喜欢嵌入式的话,那么就好好学习吧,后期的学习嵌入式还是有点难度的,这个时候就要发挥兴趣的作用了,既然喜欢,知道他好,那再难也要去学,这样一定能学好的,比的不是谁比谁聪明,比的完全是谁学的时间久,学的知识多。

03 


如何入门嵌入式

大学期间想要学好嵌入式,那么从大一开始吧。嵌入式不容易学习,嵌入式牵扯的东西太多了,不会像软件那么容易学。


你可能见过满大街JAVA、Python、大数据、数据库的培训 ,但很少听到有培训嵌入式培训吧?

就是因为入门难,既要掌握软件的知识,还要学习硬件的知识,还要学习各种硬件之间通讯原理。也就是说,嵌入式学习需要一定的的科班基础。

大一刚来的话肯定要多参加学校的活动,多交些朋友的,期间要留意下实验室什么时候纳新,最好从实验室纳新的时候就进去,当然大一主要学习C 语言。

大二要开始学习单片机了,这个要有老师,学长带带,有实验室的环境,还能一起做项目,学的会快很多,想着在宿舍学习的尽早放弃,感觉几乎不可能学好。

如果大一上学期就加入了实验室,那么上学期就应该把 C 语言学习完的,C 语言在实验室学习的进度一定要比课堂上的快的,不会的就问别人或者上网搜索。这样下学期就开始学习单片机,刚开始学习的时候一套资料是一定要有的,不然很吃力。

04 


怎么才算是掌握了单片机?

大一阶段,懵懵懂懂,思维还没有从高中转变过来。总觉得学习就是要把所有的东西看一遍做一遍才叫会。如果是这样的话,那你的上限只会成为一个 “ 匠 ”。


所谓掌握,就是做到心中有数,那什么样算心中有数?这就很关键了,掌握单片机的核心构架、拥有自己的编程思想。

我当时学到了大二下学期,把单片机的各个模块都学习过了,但是不太会用,不能把每个模块结合起来做一个项目。

后来有幸参加蓝桥杯,当时的题目是做一个可以改时间的万年历,我们需要把温湿度模块,时钟模块,按键模块,液晶模块都添加到程序中,并且让他们能够运转正常,最后在主函数里面调用各个模块的功能,做成了一个项目,不一定非要把每一个知识点都吃透,但是你要准确无误的用起来,那么这时候你就算是学会了。

    
大一应该学习最重要的 C 语言,51 单片机,大二学 51 单片机也可以,高数也应该好好学下,考研或者以后的工作中会有用的。
    
大二期间一定要把 51 单片机学完,做几个小项目,再学习些自己感兴趣的模块,比如红外感应模块,WIFI 模块,蓝牙模块,指纹检测模块......

很多很多模块的,你可以实现你自己的想法了。

譬如做个跑马灯、动态数码管显示、模拟个 “ 世上只有妈妈好的铃声 ”、又或者弄个难点的时钟计时又或者红外控制,想做什么,都可以问问老师有没有相关的模块。

大二期间还应该学习画原理图的软件 protel99se 或者 AD(Altium Designer),C++,数据结构,数据库,这些都是课堂上的课程,在课堂上好好学习就行。

英语在以后的工作中也挺重要的,要看英文的文档,四六级要好好准备。

在大二下学期也可以开始学 stm32 单片机了,我是大二暑假留在学校的实验室学习 STM32 的,就是每天看视频学些基础的知识。

    
大三学习一种做上位机的语言 VC 或者 C#,同时 STM32 要学的精通了,可以先在 STM32 上学习 UCOS 实时操作系统,大三的时候要多参加大的项目,多参加比赛,我们实验室就会常参加电赛,还有挑战杯,蓝桥杯,拿着自己做的东西去参加。

大三如果还有时间的话,就开始做毕业设计,一般两个月应该就能做好了,我们是选择暑假留在学校做毕业设计,实验室的老师给的题目。

做完了就用 ARM 学习 LINUX,当然 LINUX 在学校阶段熟悉就行。如果这些知识都掌握了,那学的一定不错了,以后就去实习吧,尽早去社会磨练磨练。

看了看怎么这么多东西要学,选一个方向学不就行了吗?

其实大学所学的知识都是基本的知识,所学的知识都是为你以后学习更加深的知识打基础的,当你选择一个新的方向,在大学里面如果还接触过,那么学习起来就没那么难了,如果压根没见过,那么学习起来一定会花费大量的时间,工作的时候可不会给你这么多时间学,所以多学点肯定是有用的。

05 


玩单片机最快的方法就是做项目。

当把一个知识,单片机的基础知识看完之后,一定要做项目,做项目才能让你学的更快。简单谈一下我从做项目中获取的经验吧。

大一期间就对无线控制很感兴趣,觉得无线控制很有意思,响应设备与控制设备之间的数据交互看不见摸不着,但却能精准高速的相互通信。经过一段时间的学习,我选择红外线这一无线通信工具。

完成的项目是 “ 基于物联网教室空调控制系统 ”,主要实现的功能,学习、发射红外码,加入 WIFI 通信功能、定时功能、温湿度检测等。

首先接到这个项目,先了解基本功能,设计一下方案,思考方案可不可行,各个模块如何相互配合工作?具体需要什么模块等等吧,然后选择适合的 MCU,不需要多大够用就行,然后选择要使用的模块硬件。

准备工作做好之后,就可以从 PCB 构图做起了。当然如果没有条件,可以选择一个带有你需要模块的现有单片机。硬件准备好之后,就可以嵌入式最擅长的软件编程了。

编程过程中要多注意细节,以及个人编程习惯都会导致一些很难排查的 bug,过程当中无可避免的会出现各种各样的 bug。 养成好的编程习惯,比如对代码加注释。

-END-


往期推荐:点击图片即可跳转阅读

1fc2971e8a07453dc90f39679af4d45c.png

快速制作PCB板的几种方法

f1faed6dbb12cf2f3eecbbcd24e4549c.png

我在微信上大学:如何正确理解指针和结构体指针?

14e1651ff31c26fb82d53eac053cbd8a.png

说实话,这个发布会绝了!

686ae30f1f7e804432d5ee8adde1123f.png

什么是FPGA?为什么FPGA会如此重要?

猛男如何学嵌入式,关注@我要学嵌入式,嵌入式男人的加油站。

我是张巧龙,一名教电子的大学老师,欢迎关注!

这篇关于终于大学毕业了,聊聊这些年学嵌入式的体会吧。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225376

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

springboot体会BIO(阻塞式IO)

使用springboot体会阻塞式IO 大致的思路为: 创建一个socket服务端,监听socket通道,并打印出socket通道中的内容。 创建两个socket客户端,向socket服务端写入消息。 1.创建服务端 public class RedisServer {public static void main(String[] args) throws IOException {

深入探索嵌入式 Linux

摘要:本文深入探究嵌入式 Linux。首先回顾其发展历程,从早期尝试到克服诸多困难逐渐成熟。接着阐述其体系结构,涵盖硬件、内核、文件系统和应用层。开发环境方面包括交叉编译工具链、调试工具和集成开发环境。在应用领域,广泛应用于消费电子、工业控制、汽车电子和智能家居等领域。关键技术有内核裁剪与优化、设备驱动程序开发、实时性增强和电源管理等。最后展望其未来发展趋势,如与物联网融合、人工智能应用、安全性与

终于解决了excel操作及cspreadsheet.h问题

困扰多日的excel操作问题终于解决:利用cspreadsheet.h!在vs2005下,不能直接应用cspreadsheet.h,所以必须解决些问题先。 首先, 出现暴多错误。解决UNICODE问题,全部添加L。 [1] +++++++++++++++++++ 其次, 出现问题: error   C2664:   'SQLGetInstalledDriversW '

嵌入式技术的核心技术有哪些?请详细列举并解释每项技术的主要功能和应用场景。

嵌入式技术的核心技术包括处理器技术、IC技术和设计/验证技术。 1. 处理器技术    通用处理器:这类处理器适用于不同类型的应用,其主要特征是存储程序和通用的数据路径,使其能够处理各种计算任务。例如,在智能家居中,通用处理器可以用于控制和管理家庭设备,如灯光、空调和安全系统。    单用途处理器:这些处理器执行特定程序,如JPEG编解码器,专门用于视频信息的压缩或解压。在数字相机中,单用途

基于微信小程序与嵌入式系统的智能小车开发(详细流程)

一、项目概述 本项目旨在开发一款智能小车,结合微信小程序与嵌入式系统,提供实时图像处理与控制功能。用户可以通过微信小程序远程操控小车,并实时接收摄像头采集的图像。该项目解决了传统遥控小车在图像反馈和控制延迟方面的问题,提升了小车的智能化水平,适用于教育、科研和娱乐等多个领域。 二、系统架构 1. 系统架构设计 本项目的系统架构主要分为以下几个部分: 微信小程序:负责用户界面、控制指令的

嵌入式面试经典30问:二

1. 嵌入式系统中,如何选择合适的微控制器或微处理器? 在嵌入式系统中选择合适的微控制器(MCU)或微处理器(MPU)时,需要考虑多个因素以确保所选组件能够满足项目的具体需求。以下是一些关键步骤和考虑因素: 1.1 确定项目需求 性能要求:根据项目的复杂度、处理速度和数据吞吐量等要求,确定所需的处理器性能。功耗:评估系统的功耗需求,选择低功耗的MCU或MPU以延长电池寿命或减少能源消耗。成本