嵌入式自学多久可以找工作?应届生找嵌入式工作难吗?

文章正文
发布时间:2024-08-31 18:49

博客

单片机入门到高级开挂学习路径(附教程+工具)

02-26

7万+

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

博客

从屎山代码到RTOS,老工程师的架构进化史

08-28

1012

举例来说,在我们项目6网关的探测器列表界面下,要显示这个网关所有配对好的探测器,探测器数量一般是动态的,可能用户A配对了5个探测器,用户B配对了10个,用户C配对了20个.....在具体的代码中,我们程序定义了两个静态结构体数组用来实现探测器列表的功能。这两个静态的结构体数组占用了比较大的RAM空间,假如客户突然发神经,要求这台主机要支持配对100个探测器,这个结构体数组大小就是100,这得多吓人,光这个结构数组就把单片机的RAM用得差不多了。我们不妨计算以下:


博客

在单片机开发过程中,碰到从来没接触过的模块或芯片,该怎么办?

08-13

858

这是嵌入式的难点之一,每个产品,需要用到的外围芯片,模块,都不一样,每换一个不同行业的产品,都要重新学习很多东西。所以,不要担心,碰到没用过的单片机,直接以公司名义,跟代理商要所有资料例程,技术支持就完了,别傻乎乎自己去摸索。实际上,你用上6,7款不同的单片机,会发现都是大同小异,有这经验,再纠结这个问题,会事半功倍。如果这个年代了,还有单片机,不提供例程,只能说明两点,第一他们有核心技术,第二,头铁。实际产品,单片机变来变去,是常见的事,不过也无需担心,因为现在芯片厂之间,也很卷。

博客

硬件,学起来让人摸不着头脑

08-07

681

而且我也建议走偏软方向,除了工资高一点,做软件也是要调硬件的,调多了,硬件知识也能积累不少,然后顺其自然就转全栈工程师了,这是我们职业生涯的发展过程。刚看到这些需求,我的第一感觉,这是招硬件打杂岗,而且写这个岗位需求的人,并不专,会造成双方有很大的沟通成本,说白了,就是去了感觉大家都不合适。想精通硬件,这些只是基础,更多的是需要大量实际项目的积累,只有通过大批量,不同环境长时间验证没问题的,才算得上是真正稳定的电路。其实我说偏软工资高一点,也不对,牛逼的硬件工程师,工资也是很高的,而且香饽饽。

博客

学单片机怎么在3-5个月内找到工作?

08-06

2259

但凡是行内资深点的工程师,都知道,没做过项目,没大量实践应用过的新手,普遍都有一个问题:按照例程都能跑起来,但是让自己去写,或者换一个功能,就没什么思路,无从下手。这几年,我们无际单片机项目特训营,跟我们主动反馈找到工作的铁子,至少有190个,在这个群体里面,90%以上的,都只做了3个项目。实际上用人单位,最看重的也是项目经验,你做过的项目,涉及的技术栈,和他们公司的项目越契合,意味着你上手越快。这13年一直在跟单片机打交道,打过工,创过业,对行业,对企业,都有一定的认知,

博客

不是说嵌入式的人才大量缺口吗,为什么它的工资水平也不是很高?

08-05

1066

但是物联网的出现,颠覆了传统硬件,能让传统硬件更智能了,让每个行业的产品,都能被重塑一次,还能衍生出很多新的应用场景,这就是变相的增量市场。殊不知,互联网的风口,不会持续很久,大多数人,也只是普通人,不会因为一个风口,就财富自由,最多就工资高点。当然,大多数人是做不到的,大家对大学生活的向往是,搞对象,打游戏,旅游....反正学习最苦逼,排最后。在经济下行时,首先受到致命冲击的,就是互联网,所以很多做纯软的,失业了,工作都难找。如果今天研究生毕业,还拿这个数,哪怕行业还很缺人了,也别干了,哈哈。

博客

过来人建议:嵌入式工程师怎么突破方向、技能、工资瓶颈?

08-02

517

我现在基本忘掉了人际关系,所以基本也没啥朋友,或许也是年纪大了,怎么舒服怎么来,自给自足,没必要看谁的脸色。而且现在,我感觉时代还是有点变化的,不像以前那种酒桌文化,大家更希望的是,把事做好,别啰里吧嗦整那些虚的。其实,大家都是脑子一热,口嗨,反正也不用负责,或者只是个人浅浅的经历,并没有大量实际数据支撑的定论。最近干的最多的,就数据采集和分析,小白最恐怖的想法,就是没数据支撑,认死理,以前我也这样。工资高的背后,意味着两点,要么产品利润高,要么是增量市场,一下招不到人。

博客

代码能力弱,编程思维几乎没有,有些勉强能看懂,让自己敲,一脸懵逼?

07-11

740

当初,我在设计无际单片机特训营的项目时,就很想采用这种方式,先给老铁们项目源码,然后提要增加/修改的功能,让他们自己先和脑细胞撕裂一下,尝试修改源码去实现功能,最后再看教程,这样理解绝对透透的。因为你想改代码改功能,必须得先把原有的代码看懂,才能改,否则改出来,就像破了几个洞的,然后用胶布粘住的水管,这里改,那里又冒了个BUG出来。最近有几个人问我,说自己代码能力弱,编程思维几乎也没有,简单的代码,勉强能看懂,让自己敲,就一脸懵逼,下一步该怎么学习?我也纳闷,难道是我的学习方式,方向不对吗?

博客

【无标题】

07-10

865

刚开始,尝试抱着一本厚厚的电子元器件手册啃,又感觉看书过于枯燥,又下载了几十G的视频教程,结果跌入魔法电路的深渊,仿佛在学一门高深莫测的数学课,因此陷入无尽的学习死循环。不再单独去学电路了,转去学开发板,因为很多开发板,在实践的过程中,也会讲到元器件及电路,而这种边学边用的方式,更好理解。我收集了一些经典电路参考图,在设计相关功能的时候,可以借鉴或者在此基础上改,可大大提高效率,需要的可找我安排。后面我也意识到,学习硬件,不应该从理论出发,而应该从实践入手,最后再以实践结果,倒推理论巩固。

博客

单片机软件架构连载(5)-队列

07-08

891

前面讲了指针、结构体之类的基础知识。这篇内容开始,就要对这些基础知识,做一些复杂的应用了,比如说队列。其实,在2018年的时候,我录制过一套程序架构的视频,里面有手把手写队列的教程,讲了一系列贴近实际的高阶编程思维和技巧,受到了很多粉丝朋友们的好评和认可。但由于教程录制的比较早,音质比较差,还有一些细节不够完善。所以这根刺,一直扎在我的心里,为了让无际单片机特训营的铁子们,在学我们项目时,能更高效,更好地理解,最近计划把这些基础内容,重新梳理一遍,做成一个系列的软件架构2.0图文/视频教程。

博客

单片机软件架构连载(4)-结构体

07-04

1019

语法如下:这里的结构体名是你自定义的名称,用于之后引用这个结构体类型。示例代码:每个类型后面跟着的是结构体中的成员变量,它们可以是基本数据类型,如char、short、int、float等,也可以是其他结构体类型,比如指针,结构体类型。定义好结构体类型后,我们就可以用该类型,去定义一个结构体变量,并初始化其成员值了。示例代码:创建Student类型的结构体变量stu1,并初始化,名字为 ZhangSan,年龄 20,成绩 92.5。

博客

单片机软件架构连载(3)-typedef

07-03

1108

我们来总结下,typedef最主要的几点优势:提高代码可读性:通过使用有意义的类型名,代码更易于理解。简化复杂类型:对于结构体、枚举、函数指针等复杂类型,使用 typedef 可以简化变量定义。易于修改:如果基本类型需要更改,只需更改 typedef 定义,而不必修改使用该类型的所有实例。增加代码移植性:不同编译器或平台可能对某些数据类型的大小有差别(例如,int在某些平台上可能是16位,在另一些平台上可能是32位或64位)。

博客

单片机软件架构连载(2)-指针

07-02

1117

变量类型 *变量名unsignedchar*p;unsigned char 是数据类型,p 是变量名。2.2指针变量赋值指针变量在使用前,一定要先赋值(指向一个地址)。给指针变量赋的值和普通变量不同,给指针变量赋值只能是地址。那么怎么获取普通变量的地址呢,在C 语言里可以使用”&”来获取普通变量的地址&变量名// 包含标准输入输出库,用于printf函数等// 定义一个无符号字符变量a,其取值范围是0到255// 定义一个指向无符号字符的指针变量p// 主函数入口点。

博客

单片机软件架构连载(1)-枚举(enum)

07-01

1055

我对枚举Enum(Enumeration)数据类型的理解,是给常量另起个名字。给"1"取个名字叫True;给"0"取个名字叫False;把常量重命名以后,在程序里,相对数字能更直观地表达逻辑的对和错。// 定义一个匿名枚举类型,包含四种颜色,分别对应整数值0到3enumRED, // 枚举成员RED的值为0,代表红色GREEN, // 枚举成员GREEN的值为1,代表绿色BLUE, // 枚举成员BLUE的值为2,代表蓝色YELLOW // 枚举成员YELLOW的值为3,代表黄色。

博客

掌握这招,串口通信高频收发32W数据,0丢包!

06-14

887

早期做pdu的时候,用485通讯,Modbus协议,我是做从机,当时没什么经验,总是做不稳定,如果是碰上那种对成本要求很苛刻的产品,比如连一个电容钱都要省的,调起来极其恶心,想把公司电脑都砸了。QueueDataOut是一个队列数据出列函数,函数内部实现了先进先出的算法,所以我们完全不用管什么数组下标,数组还有多少数据之类的,也是一次写好,无限复用,大大简化了程序。做串口的应用,把串口外设调通只是第一步,串口只是数据传输的媒介,在此基础上,两个设备/器件要进行通信,传递更有意义的信息,还需要一个通讯协议。

博客

为什么说指针是c语言的灵魂?

06-13

857

我攻克这个难关,花了好几年时间,因为它不像单片机的问题,网上都有答案,也有例程参考,这种问题,是开发经验的问题,网上找不到资料,有也只是零零散散的。工作6,7年以后,独立做了一些复杂的项目,有物联网网关,有Ble产品,研究过协议栈和模块厂的SDK,也见过很多同事写的代码,对指针又有了新的理解。刚做开发的前两三年,我总是感觉自己写的程序,不够专业高大上,很多程序都过度使用指针,看起来更复杂显得专业点,现在回看那程序:真傻杯,脱裤子放屁。你可以简单理解成,就像人没有灵魂,废了,c语言没有指针,也废了。

博客

入职嵌入式开发,第三个星期开始让写代码,要求两周完成,但是完全不会写怎么办?

06-06

1245

做项目,一定是有清晰流程的,先把项目需要的外设调通,再把项目的业务逻辑功能,拆解成独立的小模块,一个一个地完成,每完成一个模块,都要测试好没问题,最后把所有模块整合在一起,完成整体功能。正常情况下,公司有段试用期,如果是应届,或者刚转行嵌入式开发的,一般不会直接让你独立去做项目,而是维护老项目,改改代码为主,除非是一些很简单的产品。如果我是领导,我最烦的员工是,每次问的时候,都说还在搞,差不多了,又不知道到什么程度了,然后过了一个月,说哪个功能做不出来。

博客

如何编写稳定的单片机代码?

05-30

802

举个简单的例子,一个LED灯指示设备联网状态,未接连上时,每200ms闪一次,连接上wifi时,每400ms闪一次,连接上路由器时,每600ms闪一次,连接上服务器时,常亮。我很多代码思维和技巧,都是学习同事的代码,我看到他们的代码时,和无际项目特训营老铁看我们代码的感觉是一样的,先是一脸懵逼,有些工作后,接触项目多了,才领悟其中的精髓。一般的工程师,会在工作了3,4年左右,才能意识到程序架构的必要性,也取决于你什么时候能有机会独立完成复杂的项目,这个时候你会发现,原来的知识体系不够用。

博客

如何编写高效的单片机代码?

05-29

697

在做研发工程师的10年里,我经历过几个公司,看过很多工程师写的代码,但真正能让我跪着看完的,极少。用i--、i-=1、i++、i+=1、去替代i = i-1,i=i+1的操作,有些编译器对前者进行了优化,效率更高。比如数学功底好的,可以用低端单片机去实现功能,而数学功底不好的,写出来代码效率低,则需要性能更强的单片机支撑。具备这些能力,写出来的代码,才能让cpu执行这段代码所花费的时间,以及占用的ROM和RAM资源更少。然而,如果把项目每个细节,都优化到高效的程度,花费的时间,是平时的两倍。

博客

工作中写单片机代码,与学校里有什么不同?

05-27

1239

接着维护基于NXP ARM7单片机项目,相对就复杂很多了,复杂度主要体现在要自己配置寄存器,去使用单片机外设,还有整体功能多,组合起来看就有点云里雾里,不过从代码架构上,也是挺乱的。第一份工作,先是维护老产品, 一看公司产品的代码,其实跟开发板的差不多,有些代码可能还没开发板的工整,是用STC 51单片机的项目,代码也复杂不到哪去,能实现功能就行了。工作后,见过鬼,怕黑了,不想再装逼秀技术了,只想快点完成任务,有现成代码可以抄,我觉得贼幸福,领导和甲方,大概是魔鬼。目前我们特训营项目就用这些架构。