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

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

3天内不再提示

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

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

需要掌握哪些技能

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

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

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

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

能读懂原理图、看懂 PCB

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

实际面试考什么

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

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

工作中实际用什么

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

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

一点点感悟

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

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

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

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

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

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

一点点建议

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

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

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

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

    关注

    6001

    文章

    43973

    浏览量

    620839
  • pcb
    pcb
    +关注

    关注

    4220

    文章

    22472

    浏览量

    385787
  • 示波器
    +关注

    关注

    111

    文章

    5650

    浏览量

    181775
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128700

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

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

收藏 人收藏

    评论

    相关推荐

    如何提升单片机开发技术?

    学习 单片机开发技术的基础是电子电路原理和C语言编程。我们需要通过学习相关的教材和课程,加强对电子电路原理和C语言编程的掌握。只有扎实的基础知识,才能更好地进行单片机
    发表于 01-05 10:14

    51单片机应用开发案例精选

    数据采集、数据通信等8个实例,介绍单片机在各个领域的应用以及简易GPS系统的设计与开发。 《51单片机应用开发案例精选》内容丰富,实例详尽,
    发表于 10-21 15:23

    NEC单片机学习感悟

    `NEC单片机学习感悟,与大家共享。学习NEC单片机的同志一起加油。{:soso_e130:}目前接触的是NEC 8位78K0 Dx2系列,是NEC 2009年10月才出样片的针对中低端汽车仪表盘
    发表于 11-09 10:59

    单片机开发掌握的几个基本技巧--分享

    技巧》专题讨论的嘉宾,与广大设计工程师交流单片机设计开发经验。现根据论坛中的讨论归 纳出单片机开发中应掌握的几个基本技巧。  一、 如何提高
    发表于 06-04 15:15

    单片机道路之感悟

    ,课堂作业就是类似与如何写一段程序,把A地址的数据拷贝到B地址去。学校也没有关于单片机的实验室,自己也从来没有见过单片机长得什么样,更谈不上开发板之类的东西了,但在这个过程中,我发现我
    发表于 12-29 11:01

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

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

    51单片机应用开发案例精选(代码及图片)

    单片机开发实例,介绍单片机开发的基本过程,使初学者能够轻松入门;第3部分(第4章~第6章)讲解单片机
    发表于 01-09 16:16

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

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

    单片机或PLC需要用的东西有哪些

    单片机或PLC需要用的硬件有哪些?单片机或PLC需要用的软件技能有哪些?
    发表于 08-09 06:16

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

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

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

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

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

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

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

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

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

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

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

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