原创 给单片机初学者的忠告

2014-2-25 11:35 1660 27 32 分类: MCU/ 嵌入式

现在是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芯片:

 

动态血压计.jpg
 
 
以上为个人观点,仅供参考。
 

文章评论5条评论)

登录后参与讨论

用户424443 2015-1-12 17:30

对于单片机初学者,STM32确实有入门门槛。计算机系统、开发工具、环境有“趋同”的趋势,软件、硬件的界限在模糊化。从传统的51入手,逐步深入,不失为一个学习路径。

用户592202 2014-12-22 12:00

stm32就是当年的51机。它的功能更强大,性能更优越,性价比尤其突出。但学好stm32确实对基础知识有一定要求,首先C语言水平要不错,实际学习过程中,你会发现有较高C语言能力,绝对能让你加深理解、提高学习效率。其次,要具有一定的数电水平,重点是结合硬件原理图,透彻理解GPIO的配置——这是进一步学习的基础。

用户1822982 2014-12-11 13:52

点赞

用户377235 2014-12-9 22:15

楼上的请不要瞎说好嘛,看不懂是你的肤浅,人家费心费力写出来就是给广大初学者吸取经验和教训的,不喜欢你可以不看呀,何必来喷呢?

gyuan67_848161179 2014-3-11 08:55

蠢!
相关推荐阅读
用户424443 2016-03-18 13:44
Android安卓开发环境的建立--写给初学者
几个基本概念: (一)安卓的开发主机,可以是win、linux、mac os其一;常用的是windows,比如win7. (二)开发安卓手机APP使用的编程语言是JAVA,IDE常用的是E...
用户424443 2015-01-15 17:57
安卓模拟器Genymotion虚拟设备启动失败问题的解决方法
几个基本概念: 1、Genymotion是安卓开发环境的一种模拟器,加载APP的速度比较快(模拟器本身启动也是需要相当长时间)。 2、Genymotion依赖于VirtualBox(著名的...
用户424443 2014-12-15 17:18
JLINK的SW调试模式连线方式
大家知道,JLINK有2种调试模式:JTAG和SWD(串行模式)。     JTAG是常用模式,大家都熟悉、不废话了;如果使用SW模式,需要(只需要)4根连线,连接...
用户424443 2014-01-14 10:07
STM32休眠模式的调试方法
STM32有3种休眠模式,其中,STOP模式一旦启动后,芯片进入休眠模式,HSE等振荡器不再有效工作,JTAG调试失效。如果在STOP模式下,希望仍能使用JTAG进行正常调试,如何实现?比如,进入...
用户424443 2013-01-14 15:10
关于STM32的中断优先级设置--systick
项目中需要将systick中断的优先级调低,遇到的问题总结如下: 1. STM32中断优先级是使用4-bit来表示的,即总共有16个级别。 2. 优先级分为2个部分:抢先优先级和子优先级,...
我要评论
5
27
关闭 站长推荐上一条 /2 下一条