打印

嵌入式开发如何入门?

[复制链接]
788|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
编程小霸王|  楼主 | 2022-1-18 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 地瓜patch 于 2022-1-18 18:19 编辑

       很多大学生觉得嵌入式入门并不容易,这其中牵扯的内容、知识点太多。像C语言基础是否掌握?汇编语言是否了解?电路原理学的怎么样,能看懂接单的电路图吗?AD软件学的怎么样,能画电路吗?
嵌入式行业前景           有一种说法,下一个时代是物联网的时代,以后的生活一定是智能的、万物互联的,所有的家电都会集中到一个终端上,通过这个终端就可以控制周围的一切,就像扎克伯格为自己家的设备写的一套系统一样,通过一个语音助手就控制整个家。    这些智能设备都需要我们嵌入式开发者来做,把那些设备嵌入进程序,让它们任你控制。    最近华为、中兴的芯片事件刺痛了每一个国人的心。华为因为被美国制裁,麒麟芯片将成为绝版,因为以国内的技术、设备、工艺水平无法生产7纳米芯片。在芯片领域,国家投入几千亿来做,这方面人才非常稀缺。    传闻阿里收购了唯一自主嵌入式 CPU IP Core 公司中天微,就是想做芯片,解决我们的无 “ 芯 ” 之痛。我们学习嵌入式正好可以用的上,相关**推荐:嵌入式行业真的没前途吗?嵌入式学习的有软件知识还有硬件知识,当看到学习的是可以实际操作的单片机后就感觉不错了。    嵌入式以后的工作是可以动手做自己想做的东西,而且是很智能的设备,开发出来一款设备岂不是很爽,比如门禁,热敏打印机,电子手表,扫地机器人等等。    最后真正喜欢嵌入式的话,那么就好好学习吧,后期的学习嵌入式还是有点难度的,这个时候就要发挥兴趣的作用了,相关**推荐:嵌入式开发经验分享,把学习当作一种兴趣。既然喜欢,知道他好,那再难也要去学,这样一定能学好的,比的不是谁比谁聪明,比的完全是谁学的时间久,学的知识多。如何入门嵌入式
      大学期间想要学好嵌入式,那么从大一开始吧。嵌入式不容易学习,嵌入式牵扯的东西太多了,不会像软件那么容易学。    你可能见过满大街JAVA、Python、大数据、数据库的培训 ,但很少听到有培训嵌入式培训吧?
    就是因为入门难,既要掌握软件的知识,还要学习硬件的知识,还要学习各种硬件之间通讯原理。也就是说,嵌入式学习需要一定的的科班基础,相关**:嵌入式行业那些坑与出路    大一刚来的话肯定要多参加学校的活动,多交些朋友的,期间要留意下实验室什么时候纳新,最好从实验室纳新的时候就进去,当然大一主要学习C 语言。    大二要开始学习单片机了,这个要有老师,学长带带,有实验室的环境,还能一起做项目,学的会快很多,想着在宿舍学习的尽早放弃,感觉几乎不可能学好。    如果大一上学期就加入了实验室,那么上学期就应该把 C 语言学习完的,C 语言在实验室学习的进度一定要比课堂上的快的,不会的就问别人或者上网搜索。这样下学期就开始学习单片机,刚开始学习的时候一套资料是一定要有的,不然很吃力。

怎么才算是掌握了单片机?
    大一阶段,懵懵懂懂,思维还没有从高中转变过来。总觉得学习就是要把所有的东西看一遍做一遍才叫会。如果是这样的话,那你的上限只会成为一个 “ 匠 ”。
    所谓掌握,就是做到心中有数,那什么样算心中有数?这就很关键了,掌握单片机的核心构架、拥有自己的编程思想。   
我当时学到了大二下学期,把单片机的各个模块都学习过了,但是不太会用,不能把每个模块结合起来做一个项目。   
后来有幸参加电赛,当时的题目是做一个可以改时间的万年历,我们需要把温湿度模块,时钟模块,按键模块,液晶模块都添加到程序中,并且让他们能够运转正常,最后在主函数里面调用各个模块的功能,做成了一个项目,不一定非要把每一个知识点都吃透,但是你要准确无误的用起来,那么这时候你就算是学会了。   
大一应该学习最重要的 C 语言,51 单片机,大二学 51 单片机也可以,高数也应该好好学下,考研或者以后的工作中会有用的。   
大二期间一定要把 51 单片机学完,做几个小项目,再学习些自己感兴趣的模块,比如红外感应模块,WIFI 模块,蓝牙模块,指纹检测模块......   
很多很多模块的,你可以实现你自己的想法了。
    譬如做个跑马灯、动态数码管显示、模拟个 “ 世上只有妈妈好的铃声 ”、又或者弄个难点的时钟计时又或者红外控制,想做什么,都可以问问老师有没有相关的模块。
    大二期间还应该学习画原理图的软件 protel99se 或者 AD(Altium Designer),C++,数据结构,数据库,这些都是课堂上的课程,在课堂上好好学习就行。   

英语在以后的工作中也挺重要的,要看英文的文档,四六级要好好准备。
    在大二下学期也可以开始学 STM32 单片机了,我是大二暑假留在学校的实验室学习 STM32 的,就是每天看视频学些基础的知识。
    大三学习一种做上位机的语言 VC 或者 C#,同时 STM32 要学的精通了,可以先在 STM32 上学习 UCOS 实时操作系统,大三的时候要多参加大的项目,多参加比赛,我们实验室就会常参加电赛,还有挑战杯,蓝桥杯,拿着自己做的东西去参加。   

大三如果还有时间的话,就开始做毕业设计,一般两个月应该就能做好了,我们是选择暑假留在学校做毕业设计,实验室的老师给的题目。
    做完了就用 ARM 学习 LINUX,当然 LINUX 在学校阶段熟悉就行。如果这些知识都掌握了,那学的一定不错了,以后就去实习吧,尽早去社会磨练磨练。
    看了看怎么这么多东西要学,选一个方向学不就行了吗?    其实大学所学的知识都是基本的知识,所学的知识都是为你以后学习更加深的知识打基础的,当你选择一个新的方向,在大学里面如果还接触过,那么学习起来就没那么难了,如果压根没见过,那么学习起来一定会花费大量的时间,工作的时候可不会给你这么多时间学,所以多学点肯定是有用的。

最有效的学习方法就是做项目   
当把一个知识,单片机的基础知识看完之后,一定要做项目,做项目才能让你学的更快。简单谈一下我从做项目中获取的经验吧。
    读大学期间就对无线控制很感兴趣,觉得无线控制很有意思,响应设备与控制设备之间的数据交互看不见摸不着,但却能精准高速的相互通信。经过一段时间的学习,我选择红外线这一无线通信工具。
    完成的项目是 “ 基于物联网教室空调控制系统 ”,主要实现的功能,学习、发射红外码,加入 WIFI 通信功能、定时功能、温湿度检测等。    首先接到这个项目,先了解基本功能,设计一下方案,思考方案可不可行,各个模块如何相互配合工作?具体需要什么模块等等吧,然后选择适合的 MCU,不需要多大够用就行,然后选择要使用的模块硬件。
    准备工作做好之后,就可以从 PCB 构图做起了。当然如果没有条件,可以选择一个带有你需要模块的现有单片机。硬件准备好之后,就可以嵌入式最擅长的软件编程了。    编程过程中要多注意细节,以及个人编程习惯都会导致一些很难排查的 bug,过程当中无可避免的会出现各种各样的 bug,多与人交流经验,另外关键代码加注释,方便温故而知新。


使用特权

评论回复
评论
编程小霸王 2022-3-18 16:05 回复TA
学习技术群:881895560 

相关帖子

沙发
电脑东方| | 2022-2-24 18:54 | 只看该作者
感谢楼主发现

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

17

帖子

1

粉丝