0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

搞单片机程序开发应该掌握哪些技能和实际所用以及感悟

Q4MP_gh_c472c21 2018-01-29 14:13 次阅读

需要掌握哪些技能

需要了解并使用过几款常见的单片机

需要熟悉常见的硬件接口譬如 UART 、SPI 、I2C

需要了解一些传感器相关的知识,譬如声、光、磁、温、惯性器件

需要能看懂 datasheet 读懂芯片的操作规范,就是用代码对传感器的寄存器进行配置

能读懂原理图、看懂 PCB

会使用示波器、会分析电路

实际面试考什么

C语言基础知识,算法水题

聊天,聊项目、聊如何实现的

工作中实际用什么

我面试成功的机会都是来源于这些主要做单片机的公司,而且都是小公司,进入的团队也小,做的东西也是两三个人就可以搞定的事情。虽然我自认为写程序还可以,但是每次答算法水题都答不好,让我着实比较郁闷,虽然近期已经补充了不少相关知识了,但是我还是感觉如果一直做这些单片机嵌入式的项目,我可能永远都用不到这些算法知识。

很早以前我就知道这些,计算机数据结构及算法之于单片机程序开发就是水月镜花。而另外一种意义上的算法倒是很实用,比如早在我毕业之前就买过一本北航出的《嵌入式系统软件设计中的常用算法》这本算是很使用的一本工具书,很多方法在实际的嵌入式软件开发当中十分有效,我把这一类算法归为DSP,也就是数字信号处理,要处理单片机中的数据都是数字信号的数据,要对这些数据分析总结,处理之后是从传感器得到的信息,之后再使用控制器或通讯器对外界进行反馈

一点点感悟

我从事单片机开发这些年就是用这些技术一点点的做着一个又一个的不靠谱的项目,现在想想我一直在磨练自己的技术,然后丝毫没有用在成型的产品上,那么我做这些到底有什么用呢?之前使用PIC单片机做的电能检测器件可能小批量的生产了一些,但是远没有成为一个值得我骄傲的产品。

每一次我都是在找公司的原因,其实我真正的倾注了多少心血在这些产品上面呢?

每一次我都是把做这些东西仅仅当作一个工作来做,虽然我的技术不断的在进步,处理一些技术难点越来越游刃有余,但是我早已失去了当初在学校时的那份热情。我开始在业余学习一些其他的技术,只把手中做的工作当作是一份糊口的工作,我觉得自己做的东西是没什么技术含量的,而且有些东西是慢慢打磨的,我倒不如趁着现在大好年华投身更丰富的技术海洋之中。久而久之,当初的那份赤成之心早已不在,我变得只是追逐工资增长的不断跳槽。

而最近一年的嵌入式 Linux 工作经历也确实让我学习到了很多在操作系统编程的技能,接触了以前不曾用到的文件编程、网络编程、也开始认真的研究计算机算法,现在我发现之前很多在单片机之下我迫切想使用的技术也不过如此。还记得我曾经想要自己打造一款实时操作系统。

想要在单片机下实现多线程或是协程,有了操作系统这些反而是简单的,没有之前的程序写的复杂了。而这些简单的实现了之前在单片机上的复杂之后的事情,又有新的复杂的事情。有了多线程编程,要关注的同步和互斥的问题一点不比在单片机下要同时做很多事情简单。

还有视音频的流式传输,需要 buffer 的缓冲,处理起来也需要十分小心。而单片机开发更需要关注的是物理世界、电气世界的各种特性,需要将模拟的连续的信号变成数字的离散的数据,实时性强、过程简单的顺序结构。

一点点建议

还是认清自己最重要,不要被过去从事的技术束缚住,其实我现在看到很多以前做软件的人也在尝试单片机硬件编程,直接面对物理世界的反馈是一种很奇妙的感觉,相比于抽象的要处理数据库信息,处理真实世界的各种数据也许在某种意义上更加有趣,更加给人一种踏实的感觉。

每个人都可以不断学习新的东西,作为一个近二十年才普遍在人类社会兴起的工种,我们有太多要学习和探索的事情要做,身边少有工作二十年的工程师是因为这个行业还没有完全发展起来,因此绝对不要被别人软件技术是青春饭的胡话给蒙蔽。做一个坚持学习的人是值得别人尊敬的。

单片机程序员也是软件工程师的一种,做的事情一样有用而且有趣,做好了也能赚到不错的薪水,在其他软件程序员来说可能被看作是做硬件的,做底层的。但我理解的差别可能比写 javapython 的区别差不多大吧。反正没有一辈子不成长、不学习的软件工程师,除非他们转去做“管理”这样“高端”的职位去了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6034

    文章

    44552

    浏览量

    634467
  • pcb
    pcb
    +关注

    关注

    4318

    文章

    23074

    浏览量

    397307
  • 示波器
    +关注

    关注

    113

    文章

    6239

    浏览量

    184784
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136650

原文标题:搞单片机程序开发应该掌握哪些技能,实际用到什么?

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机开发应该掌握的四个基本技巧

    单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握
    发表于 08-06 17:54

    单片机程序开发应该掌握哪些技能

    单片机程序开发应该掌握哪些技能
    发表于 03-02 07:28

    单片机开发中应掌握的几个基本技巧

    单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握
    发表于 11-19 08:25

    单片机开发中应掌握的几个基本技巧

    单片机开发中应掌握的几个基本技巧.
    发表于 06-05 10:20 52次下载

    单片机开发中应掌握的几个基本技巧

    单片机开发中应掌握的几个基本技巧       在单片机应用开发中,代码的使用效率问题、
    发表于 03-02 01:23 609次阅读

    义隆单片机程序开发

    义隆单片机程序开发,对于义隆单片机开发者来说很实用。
    发表于 07-26 14:31 9次下载

    单片机开发中应掌握的基本技巧

    单片机开发中应掌握的基本技巧
    发表于 01-12 22:08 22次下载

    单片机程序员需要掌握哪些技能?实际面试考什么?工作中实际用什么?

    需要掌握哪些技能 需要了解并使用过几款常见的单片机。 需要熟悉常见的硬件接口譬如 UART 、SPI 、I2C 需要了解一些传感器相关的知识,譬如声、光、磁、温、惯性
    的头像 发表于 07-19 16:23 6761次阅读

    开发单片机掌握的几个技巧

    单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决单片机设计上的难题,现根据论坛中的讨论归纳出单片
    的头像 发表于 11-22 16:21 5506次阅读

    学习单片机应该掌握的主要基本内容

    一、掌握单片机最小系统能够运行的必要条件     (1)电源      (2)晶振       (3)复位电路二、掌握单片机任意I/O口的操作       (1)输入控制电平高低
    发表于 11-11 09:21 0次下载
    学习<b class='flag-5'>单片机</b><b class='flag-5'>应该</b><b class='flag-5'>掌握</b>的主要基本内容

    单片机开发程序

    如何使用单片机开发程序单片机一般都是通过烧写hex或是bin文件来进行程序升级,这个方法是在8、16、32位
    发表于 11-13 12:36 10次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>开发</b>小<b class='flag-5'>程序</b>

    如何使用eclipse开发单片机程序

    如何使用eclipse开发单片机程序
    发表于 11-13 12:51 6次下载
    如何使用eclipse<b class='flag-5'>开发单片机</b><b class='flag-5'>程序</b>

    蓝桥杯51单片机之利用中断实现倒计数与停表【单片机开发初学者掌握案例】

    目前单片机掌握嵌入式开发技术的基础,而单片机的种类多样,因此单片机的控制思想应该是我们学习的中
    发表于 11-23 16:36 9次下载
    蓝桥杯51<b class='flag-5'>单片机</b>之利用中断实现倒计数与停表【<b class='flag-5'>单片机</b><b class='flag-5'>开发</b>初学者<b class='flag-5'>掌握</b>案例】

    单片机开发中应掌握的几个基本技巧

    单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握
    发表于 03-29 15:37 916次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>开发</b>中应<b class='flag-5'>掌握</b>的几个基本技巧

    几种常见的单片机驱动程序设计模式

    单片机开发人员需要掌握的一项基本技能是,了解如何编写驱动程序。在嵌入式系统中,通常有两种类型的驱动程序
    的头像 发表于 07-10 11:09 4765次阅读
    几种常见的<b class='flag-5'>单片机</b>驱动<b class='flag-5'>程序</b>设计模式