学习技术尤其是专业性很强的技术过程,是一个充满疑惑,充满矛盾甚至痛苦的过程。技术和知识真的来不了半点虚假;比如,人家让你做一个STM32控制的触摸屏多按键触摸界面,仅仅是设计一个界面而已,貌似很简单;但是,如果没有很扎实的c语言编程功底,没有学习过有关例程,作出这样的触摸屏界面几乎是不可能的!所以,我发现一个现象,真正的牛人都很淡定不带吹嘘的,这也是技术人的一般气质。
记得当年学习51单片机入门的时候,刚开始就知道好玩,什么流水灯,数码管,时钟,红外遥控等等都觉得很新鲜好玩。但是随着学习的推进,疑问越来越多,挫折越来越多,比如,老是因为标点符号或者别的一点点小错误导致程序不能编译成功,或者c语言语句看不懂。每次咨询宋老师,他总是会说:“别问那么多为什么,我也不知道”。没办法,人家忙,问题还得自己解决:只有不断实验或百度。计算机技术是一门实践性很强的科学,很难想象一个人每天看书或听课就能学到真正的技术---简直不可能!有个朋友说想学51单片机,说有什么问题希望能得到我的帮助;一个多月过去了,没有问一个问题。所以我敢断言,他连门也没有摸着。
c语言的逻辑分析和运用能力是学好嵌入式系统的基础和难点,有很好的c语言基础才能真正的学好FAT32文件系统 ,ucos-ii操作系统。学习中的困难多半是c语言基础不好造成的。幸运的是本人听郝斌老师的c语言入门,基础还可以。只能说郝斌真的是一个有激情很牛X的老师。
还有一个难点就是CPU原理,很多疑问也就是因为不知道CPU原理和内部结构造成的。比如程序是如何启动的,什么是ISP和IAP?M3内部寄存器的作用是什么?什么是链表?中断向量表如何设置等等。
归根结底,学习的目的是应用。真正的能力是拿到一块合格的最小系统板,就能自己搭建工程构架并编写应用程序,实现项目要求。遇到问题能够自己独立处理解决。至少要知道APP的流程。否则,就是纸上谈兵。对我而言年纪不小了,嵌入式之路很辛苦好寂寞,四年如一日的钟爱与**,途中还遇到了许多妖魔鬼怪的干扰。谢谢你们!
|