写单片机软件有几年时间了,但总感觉有时候开发时间很长,所以觉得程序没封装好,移植性差。。。
所以一直想着怎么封装程序,程序模块化,减少BUG。我现在程序的做法是分层,模块化。一共分为:硬件层,驱动层,功能层,任务层。 硬件层是专门初始化一些单片机外设的,比如IO,ADC,SPI等与单片机相关的外设。驱动层是驱动外置芯片时序的,比如24c02的IIC协议。 功能层就是一些模块的功能,比如按键单按. 长按等功能实现。 任务层是把各个模块的功能分时运行。这样分层有一个好处,换单片机,把硬件层接口改一下就行。