编程就好比写文章一样,要多阅读优秀的作品,才能提高,千万不要闭门造车。 初期阶段 首先,入行时一般会以学校学的51单片机作为切入点,会一些简单的寄存器操作,能够驱动外设,像UART、IIC、TIM、EXTI、ADC等等,这个阶段是从学校到公司做项目实现理论到实践的过度,应该以简单的传感器数据采集类项目作为突破点,先调用一些简单的外设,处理一些简单的逻辑。发展阶段 开发的产品从一些简单的数据采集类,变成多数据采集,通信,控制逻辑的产品,单片机也51转到STM32,通过STM32开发一些裸机类的产品,这时候的项目难度增加,需要数据处理、通信协议解析及控制逻辑。提升阶段 开始从裸机开发转向RTOS系统开发,需要熟悉常用的实时操作系统:UCOS、Freertos、RTT等,把功能类、数据类按照不同的模块,划分成不同的任务,这个阶段软件设计考虑模块化、分层设计,设计的软件符合低耦合高内聚。技术瓶颈突破 这个阶段需要一个大平台,做的产品要有架构设计,在一个稳定的架构下多人协作设计不同的模块和软件层次,如果能参与这样的项目,对于软件编程思想会有一个提升,更多的会运用面向对象的思想去设计,剥离硬件平台的依赖,能够以更低的时间成本切换到不同的硬件平台。 特别是这种多人协作开发的架构平台,同样的一个功能,老手写出来逻辑严谨、兼容性更强、代码量更少,这就是高手,这样能学到很多东西,编程水平会突飞猛进,但是,这种机会可遇不可求。
|