现在是2014年了,回想整整20年前的1994,那时我应该坐在北京一个高校的教室里听老先生讲51单片机的课程。岁月荏苒,时过境迁,科技发展的潮流不可阻挡,技术的发展更是一日千里:“单片机”成了“嵌入式”,“51”等8位机完全被32位的ARM取代,编程语言经历了汇编、C、固件库,程序结构(所谓固件,firmware)从“裸跑”转变为嵌入式实时操作系统(RTOS,如uC/OS)。初学者一脸茫然:想掌握单片机,如何下手?
这是我的忠告:
1、实际的工作中、开发项目中,51单片机已很少用,PIC、AVR也在没落,ARM cortex-m 单片机(严格讲称为MCU)成为主流,尤其是ST公司的STM32系列,近5年在市场上取得绝对优势。刚刚诞生的STM32F030,号称售价30美分,将是传统8位单片机的终结者。
2、开发工具:使用“固件库”成为主流。固件库是厂家写好的一组C接口函数,是“标准化的”,开发者只需调用这些函数(即API)就能实现想要的功能。开发效率大大提高。熟练掌握C语言,成为嵌入式工程师的必备技能。这又成为初学者的拦路虎了。
3、调试工具:JTAG!这是业界标准,舍不得花60元RMB买个j-link做开发将是非常愚蠢的。51“仿真器”?这个东东是历史了,没用了。
4、STM32入门难!即使是PIC、AVR,也没那么简单!比如:最简单的IO口控制,如果没有事先正确设置IO口的传输方向,想点亮个LED也得折腾你一天!所以,先从51开始学起,然后过度到STM32,这是一个可行的选择!(貌似很多高校还在开51的课程吧?但51只能作为“课程”,如果认为以后就靠51吃饭了,可就大错特错了!)
5、初学者最关心的问题来了:买个什么样的开发板?我的答案是:无所谓的!尤其51开发板,真得别指着这个板子能带给你全部你想要的东西。板子唯一的作用是做实验。使用开发板的目的是学会编程、尤其是排错(debug)和调试方法,找到一个好教程、遇到一个好老师就很重要了。
最新型的无线血压计,配合安卓手机、苹果手机使用,内置STM32芯片:
用户424443 2015-1-12 17:30
用户592202 2014-12-22 12:00
用户1822982 2014-12-11 13:52
用户377235 2014-12-9 22:15
gyuan67_848161179 2014-3-11 08:55