搞单片机程序开发应该掌握哪些技能,实际用到什么?
需要把握哪些技能
需要了解并用法过几款频繁的。
需要认识频繁的硬件接口譬如 UART 、SPI 、I2C
需要了解一些相关的学问,譬如声、光、磁、温、惯性器件
需要能看懂 datasheet 读懂芯片的操作规范,就是用代码对传感器的寄存器举行配置
能读懂原理图、看懂
会用法、会分析
实际面试考什么
基础学问,算法水题
谈天,聊项目、聊如何实现的
工作中实际用什么
我面试胜利的机会都是来源于这些主要做单片机的公司,而且都是小公司,进入的团队也小,做的东西也是两三个人就可以搞定的事情。虽然我自认为写程序还可以,但是每次答算法水题都答不好,让我着实比较烦闷,虽然近期已经补充了不少相关学问了,但是我还是感觉假如向
来做这些单片机的项目,我可能永久都用不到这些算法学问。
安卓程序开发用什么软件很早以前我就知道这些,计算机数据结构及算法之于单片机程序开发就是水月镜花。而另外一种意义上的算法倒是很有用,比如早在我毕业之前就买过一本北航出的《嵌入式系统软件设计中的常用算法》这本算是很用法的一本工具书,无数办法在实际的嵌入式软件开发当中非常有效,我把这一类算法归为,也就是数字信号处理,要处理单片机中的数据都是数字信号的数据,要对这些数据分析总结,处理之后是从传感器得到的信息,之后再用法控制器或通讯器对外界举行反馈
一点点感悟
我从事单片机开发这些年就是用这些技术一点点的做着一个又一个的不靠谱的项目,现在想想我向来在磨练自己的技术,然后丝毫没实用在成型的产品上,那么我做这些到底有什么用呢?之前用法单片机做的电能检测器件可能小批量的生产了一些,但是远没有成为一个值得我自豪的产品。
每一次我都是在公司的缘由,其实我真正的倾注了多少心血在这些产品上面呢?
每一次我都是把做这些东西仅仅当作一个工作来做,虽然我的技术不断的在长进,处理一些技术难点越来越游刃有余,但是我早已失去了当时在小学时的那份热烈。我开头在业余学习
一些其他的技术,只把手中做的工作当作是一份糊口的工作,我觉得自己做的东西是没什么技术含量的,而且有些东西是渐渐打磨的,我倒不如趁着现在大好年华投身更丰盛的技术海洋之中。久而久之,当时的那份赤成之心早已不在,我变得只是追赶工资增长的不断跳槽。
而最近一年的嵌入式  工作经受也的确让我学习到了无数在操作系统下编程的技能,接触了以前不曾用到的文件编程、网络编程、也开头仔细的讨论计算机算法,现在我发觉之前无数在单片机之下我迫切想用法的技术也不过如此。还记得我曾经想要自己打造一款实时操作系统。
想要在单片机下实现多线程或是协程,有了操作系统这些反而是容易的,没有之前的程序写的复杂了。而这些容易的实现了之前在单片机上的复杂之后的事情,又有新的复杂的事情。有了多线程编程,要关注的同步和互斥的问题一点不比在单片机下要同时做无数事情容易。
还有视音频的流式传输,需要 buffer 的缓冲,处理起来也需要非常当心。而单片机开发更需要关注的是物理世界、电气世界的各种特性,需要将模拟的延续的信号变成数字的离散的数据,实时性强、过程容易的挨次结构。
一点点建议
还是认清自己最重要,不要被过去从事的技术束缚住,其实我现在看到无数以前做软件的人
也在尝试单片机硬件编程,挺直面向物理世界的反馈是一种很奇异的感觉,相比于抽象的要处理数据库信息,处理真切世界的各种数据大概在某种意义上越发好玩,越发给人一种踏实的感觉。
每个人都可以不断学习新的东西,作为一个近二十年才普遍在人类社会兴起的工种,我们有太多要学习和探究的事情要做,身边少有工作二十年的工程师是由于这个行业还没有彻低进展起来,因此肯定不要被别人软件技术是青春饭的胡话给蒙蔽。做一个坚持学习的人是值得别人恭敬的。
单片机程序员也是软件工程师的一种,做的事情一样实用而且好玩,做好了也能赚到不错的薪水,在其他软件程序员来说可能被看作是做硬件的,做底层的。但我理解的差别可能比写 java 和 python 的区分差不多大吧。反正没有一辈子不成长、不学习的软件工程师,除非他们转去做“管理”这样“高端”的职位去了。
以下课程可免费试听C语言、、PCB、、Linux、、JAVA、安卓等。
想学习的你和我联系预约就可以免费听课了。
宋工企鹅号:35--24-65--90-88    Tel/WX:173--17--95--19--08

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。