如何快速提升单片机编程水平?

举报
无际单片机编程 发表于 2021/10/18 23:32:19 2021/10/18
【摘要】 大家好,我是无际单片机编程团队徐工 “嵌入式单片机开发到底怎么样?” 今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历。 我是在2018年参加学校电子大赛的时候,开始接触并学习单片机的,在学校学习了2年。 2010刚毕业找工作的时候,虽然在电子大赛中获过奖,但想找一份比较合适的工作,还是非常有压力。...

大家好,我是无际单片机编程团队徐工

“嵌入式单片机开发到底怎么样?”

今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历。

我是在2018年参加学校电子大赛的时候,开始接触并学习单片机的,在学校学习了2年。

2010刚毕业找工作的时候,虽然在电子大赛中获过奖,但想找一份比较合适的工作,还是非常有压力。

刚毕业,没有实战经验,那个公司会要我呢?

当初比较理想的工作就是单片机工程师助理,但找了将近一个月,大多数面试完之后都让我去做维修,让我从维修做起。

有几个比较大的公司,给的工资也还可以,但是我毅然拒绝了。

随着时间的流逝,1个月过去了,想起又感到后悔,因为没有更好的选择了,自己又似乎放弃了最好的选择。

最终我还是找到了一个比较理想的工作,一个小企业,和老板一起不到10个人,我的职位是软件开发工程师,也是公司唯一的单片机开发工程师,还有一个做硬件的,一个做维修的。

在那里我做了1年,工作也是相对顺利,而且公司也比较器重我,交给我的工作我都可以快速地完成。

但毕竟是个小公司,工作不饱满,后来我就辞职了,想换个工作,因为当时我觉得自己已经足够强大,足够自信,足够承担一些更加复杂的项目开发。

“理想很饱满,现实很骨感”,这次工作找了将近2个月,比第一次还惨。

自己的存款都快被花完了,最后进了一家对我人生具有重大意义的公司,开始接触物联网相关的工作。

进了公司之后才发现,自己其实还很Low,我几乎都不敢提我的过去,有很多同事,讥笑我“你之前还是软件工程师?”“你之前参加过电赛”… 后面一句就是“你的水平也太差了”。

这话听着心里的滋味那是相当的不好受,但不得不说,这也是一个事实。 我的单片机开发水平确实很菜。

为什么自己会这么菜呢?

一直以来,我都是活在自己的世界里,独自学习单片机,独自做单片机产品开发。

虽然很多产品也可以开发出来,但自己的程序就是 if 套if,while 套 while。

没有师傅带我,没有同事和我交流,自己又没有一个程序框架的概念。

其实,我们自己在if 套if,while 套while的时候,也知道这样很烂,但没有见过更好的,不知道怎么可以学得更好。

就像生活在某鲜的兄弟,虽然贫穷,但很幸福,到了新公司,一下子感觉到了自己的差距。

在这里做了3年,后来又换了几家公司,职位也从软件工程师做到了技术总监,分公司负责人。

随着自己不断成长,再回头看自己曾经的杰作,曾经让自己觉得很牛逼的程序,现在看来,实在是太烂了,都不敢相信这个是自己写的,不堪入目。

但经过这么多年的积累,越来越觉得自己需要学习的东西是越来越多,学无止境。

看到那些和我同样苦逼经历的兄弟们,我给大家分享一些我的建议,希望可以帮助到你们。

如何尽快提升自己单片机开发水平?

1.刚入门的时候,找个老司机带带你,学习老司机的经验很重要。

刚入门的兄弟们,有些是从大学刚毕业,有些是转行过来的,建议大家最好能找个老司机带带。

我们要懂得站在巨人的肩膀上成长,这样可以避免我们少走很多弯路,可以吸收别人积累很多年的一些开发经验。

遇到一个问题,如果没有人帮助,可能你需要1个小时,或1天,或1月,或1年才能解决,或永远都不知道怎么处理,如果有人帮助,可能就是几分钟。这就是有人帮助的好处。

2.要有一个合理的学习方法

方法很重要,有多重要呢?就像你要过附近没有桥一个河,如果你找一条船,可能很快就过去了,但你坚持要找桥,那可能就需要很久时间。

学习单片机最重要的是实践,尤其是对理论知识不是很好的兄弟,我们通过项目实战积累开发经验,同时发现自己还有哪些理论知识不懂,再去针对性去补习,这样会更快。

3.多看别人的代码,吸收别人程序中的精华

单片机工程师,最不喜欢干的事情就是看别人的代码,看别人的代码还不如自己重新写,效率更高,可靠性更好。 

现实确实是这样的,因为看别人的代码,你要不断的猜别人的思维,尤其是一些没有注释的程序,更加让人头疼。程序就是一堆字母加数字,太枯燥。

但是,选择一些比较优质的程序代码去看,去研究,可以更加快速的提升你的编程能力和思维框架。 

高手都是喜欢看别人的程序,尤其是一些优质的程序代码,因为看别人的代码可以吸收别人程序代码的精华。

就像无际单片机编程那个程序架构,就是无际做了产品开发多年总结出来的,实用性非常强,也能解决很多产品痛点。

架构能让你初步地了解任务管理和调度、队列算法,有了这些基础以后学RTOS会游刃有余。

这个架构也经过了批量产品验证,移植到自己的产品当中去可以大大缩短开发周期,占用资源又小。

如果我们不分享,你应该一辈子也接触不到这么完整系统的架构,至少我在网上没找到有,基本上都是零零散散的,价值不大。

一般优质的代码不是说你算法写的有多好就行,大多数领域对算法的要求都不高,很多人当务之急是程序架构上。

也就是功能你都能实现,但总觉得写得不够完美,还差点什么,如果你有这种感觉的时候就代表你的水平已经到达一个瓶颈,需要跟更好的代码学习。

我们要懂得先去向别人学习,然后去创造。

4.专注于一个行业,不断的打造,磨练自己

这一点非常重要,我从2010年底开始从事物联网相关的工作,10年多了,我一直从事这个行业,专注于安防报警系统,智能家居,消防报警系统的研发。

只有当你对一个行业,有足够的累计,有足够的经验,你才能拿到高薪。

企业最需要的就是有经验的。但经验不是一天,一个月,一年就可以积累来的。

电子相关的行业很多,单片机可以开发的产品又非常的多,如果想什么东西都想学会,都想掌握,那你就走进了一个误区。

当你想要的更多的时候,结果往往是什么都得不到

文章来源: blog.csdn.net,作者:无际单片机编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43982452/article/details/119010340

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。