谈谈单片机编程入门方法
最近发现不少毕业刚入职的同学编写单片机程序很是迷茫,不知道从哪里入手,怎样实现想要的功能。虽然在学校里学过相关课程,可能课程设计或者毕业设计就是做一个单片机的小设计,但从电路板到程序基本都已经做好了,同学们只需要动动手组装、编译、下载就完成了,这个过程只是熟悉一下环境,而实际工作中就需要动脑了,显然这种转变需要适应,要怎样适应呢?学校里已经把基础打好了,就需要信心和正确的方法步骤了。
起步很现实,就是抄,不管是从网上还是前辈那里拿到能在单片机上跑起来的代码,下载到目标板上运行,了解代码各部分的功能,不理解的地方就下断点单步调试。熟悉了代码的组成和各部分执行过程和功能后,一点点去掉不需要的,加入并实现自己的功能,遇到难以理解和摸不着头脑的问题找度娘,结合实验调试基本都能够找到解决方法,起步肯定会遇到很多小问题,可能一个小问题会折磨一星期毫无办法,这时候一定要坚持住,一个一个问题思考解决,当你解决了几个问题后会发现自己已经入门了。
其实重点只有一句话:勤奋的使用断点调试和度娘。
低速、数字的单片机电路没多少有难度的设计,花样还是在软件上,一个清晰、简洁、功能明确的结构设计必然稳定、可靠、维护方便、扩展性强,而一坨混乱的代码堆在一起必然错漏百出、难以升级维护。单片机软件也需要架构,嵌入式工程师往往将注意力集中在硬件上,面对千奇百怪的元件,很容易迷失其中,专注细节的设计而忽视了整体的结构,并将这一习惯带到了软件设计上,使得软件结构不清,细节支路庞杂。锻炼软件思维,深入理解模块化和面向对象的设计思想是每个嵌入式工程师进阶的必修课。