1赞

14回答

1收藏

[其他] 吴坚鸿谈单片机自由职业者的五项技术修炼

51单片机 51单片机 5481 人阅读 | 14 人回复 | 2013-08-10

  
吴坚鸿谈单片机自由职业者的五项技术修炼
  
  
第一项修炼:学会51单片机的C语言编程。会了51单片机接着学什么?学AVR,还是PIC,还是MSP430,还是STM32,还是DSP?初学者经常会问这类问题。鸿哥告诉你,只要会了51单片机,其它的单片机都不用再刻意去学了。因为只要它是裸机跑的,它就跟51单片机大同小异。这个跟学车的道理是一样的,你会开桑塔纳了,还要再刻意去学宝马吗?我最近接了一个项目,必须要用到STM32DSP,这两种芯片我从来都没有玩过,你们看看我是如何快速上手的。我先买了几本书,大概浏览了一下它们内部的资源跟51单片机有什么不一样。接着我又买了两块学习板,学习板的厂家提供了大量的资料和例程,硬件上它们提供了原理图,我看看原理图就知道最小系统的工作电路了,他们还送学习用的开发集成软件平台,还教你如何安装,如何搭建一个完整的工程,如何烧录程序。除此之外,他们还送定时器,AD等常用功能模块的例程,这些例程里包含了每个功能模块的寄存器配置。有了这些资源,你觉得还难吗?结果我学STM32只用了三个小时,学DSP只用了两天。
  
第二项修炼:学会画电路板。包括原理图和布线,至少是两层板。写程序和画电路板是不分家的,客户往往不愿意把一个项目分成两部分,分别外包给一个软件工程师和一个硬件工程师,只有方案公司的老板才会这么做。道理很简单,如果外包给两个工程师,首先责任不明确,有可能出现软硬件工程师相互扯皮的情况。其次,客户要浪费至少一倍的时间在沟通上,如果两个工程师工作的地点相距很远,客户还要浪费一倍的时间在交通上。最后,升级维护非常麻烦。
  
  
  
第三项修炼:学会VC电脑上位机软件编程。包括串口通讯,USB通讯,网络通讯,数据库。在外面接单片机项目做的,会经常遇到要跟电脑上位机进行串口通讯的。如果连PC的上位机编程你也会,那么恭喜你,你的业务范围就会更加宽,你的附加值就会更加高,优势更加明显。为什么我推荐学VC呢?因为在VC平台下是用C++编程的,C语言和C++语言都是当代最流行最通用的编程语言。我学C++专门用了半年的时间,中间陆陆续续学习在VC平台上开发上位机软件,也花了大概一年多的时间。
  
  
  
第四项修炼:学会FPGA或者CPLD这种芯片跟单片机不是同一类型的芯片。它的编程是硬件描述语言,编译器根据我们写的描述语言,自动生成我们定做的外围芯片。懂了CPLDFPGA,你可以自己制造任何一款74系列的外围数字芯片,这些芯片引脚对外的通讯协议也是你自己设计,自己定制,想怎么玩就怎么玩。
  
  
  
第五项修炼:Linux嵌入式系统的开发。其实只要你会了51单片机和VC编程,那么你再学嵌入式系统就不会很难了。因为Linux嵌入式系统和普通电脑上windows系统的原理是一样的。Linux的裁剪移植相当于电脑重装系统,Linux的应用程序开发相当于在电脑上开发VC上位机软件,Linux的驱动编写相当于类似电脑的USB驱动编写,驱动开发对于会51单片机的人来说,是相通的。我以前没接过Linux嵌入式系统的项目,关于 第五项修炼这段内容的阐述,完全是凭我个人的猜想,如有不恰当的,请谅解。最近有个非常优质的老客户提醒我,他明年要给我一个Linux嵌入式系统的项目,所以如果有时间我也会开始学习一下嵌入式系统。
  
  
  
我觉得作为单片机自由职业者,第一项和第二项必须要掌握,有了这两项技能,在深圳赚点生活费是没问题的。第三项和第四项应该重点花时间去突破学习,这两项跟单片机关联很密切,学会了它们就可以接一些附加值更加高的大项目。之后,有时间就多学学第五项。精通了51单片机,接下来不管是学哪一项技术,都不用过于深入学习,只要达到能编写简单例程的程度就可以了。那么什么时候才是深入学习的好时机?当然是在帮客户做项目的时候,需要用到哪一项技术就深入学习哪一项。我深信,只要会了这五项技术,机会就会越来越多,开发费就会越来越高。
  


评分

参与人数 1声望 +3 收起 理由
treasuredog + 3 很给力!

查看全部评分

如欲平治天下,当今之世,舍我其谁也?
分享到:
回复

使用道具 举报

回答|共 14 个

倒序浏览

沙发

好剑者

发表于 2013-8-10 19:01:56 | 只看该作者

我是非常赞同呀!与大家分享一下!
如欲平治天下,当今之世,舍我其谁也?
板凳

feiante

发表于 2013-8-10 19:35:24 | 只看该作者

还很有差距
地板

好剑者

发表于 2013-8-10 19:37:58 | 只看该作者

feiante 发表于 2013-8-10 19:35
还很有差距

我还在第一层呢!
如欲平治天下,当今之世,舍我其谁也?
5#

好剑者

发表于 2013-8-10 19:38:39 | 只看该作者

feiante 发表于 2013-8-10 19:35
还很有差距

我还在第一层呢!
如欲平治天下,当今之世,舍我其谁也?
6#

番茄蛋汤

发表于 2013-8-11 08:19:22 | 只看该作者

可以先学习DSP2812,然后再学习单片机嘛?
7#

好剑者

发表于 2013-8-11 12:43:53 | 只看该作者

番茄蛋汤/yl 发表于 2013-8-11 08:19
可以先学习DSP2812,然后再学习单片机嘛?

这样也可以,求指教?
如欲平治天下,当今之世,舍我其谁也?
8#

番茄蛋汤

发表于 2013-8-11 17:48:48 | 只看该作者

好剑者 发表于 2013-8-11 12:43
这样也可以,求指教?

因为我现在要做电机控制啊,驱动器开发采用DSP2812+CPLD。
手下工作不给力,想自己也学习一下。
9#

番茄蛋汤

发表于 2013-8-11 17:49:58 | 只看该作者

好剑者 发表于 2013-8-11 12:43
这样也可以,求指教?

因为我现在要做电机控制啊,驱动器开发采用DSP2812+CPLD。
手下工作不给力,想自己也学习一下。
10#

好剑者

发表于 2013-8-11 18:51:21 | 只看该作者

好吧!没事多学一点,技多不压身嘛!
如欲平治天下,当今之世,舍我其谁也?
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条