[STM32] 单片机编程方法讨论

[复制链接]
1249|1
 楼主| 泰山特曲123 发表于 2015-8-14 20:20 | 显示全部楼层 |阅读模式
      下面讲讲我常用的一种编程方法,就是以模块为单位,在模块内分成硬件抽象层、用户接口层、应用层,欢迎大家发表意见和讨论。
      假设要用一个SPI Flash存文件,在不使用文件系统的情况下,我通常的做法如下,其他液晶等模块方法类似。
       硬件抽象层:我会建一个SPI_Flash_HAL.C文件,存放SPI Flash芯片与MCU相连接的所有硬件相关代码,例如SPI接口的初始化,使用SPI接口发送数据和读取数据的代码。如果MCU更换或者引脚有变化,只需要修改该文件的代码。硬件抽象层的函数只能被上一层用户接口层调用。
       用户接口层: 我会建一个SPI_Flash_API.c文件,存放操作SPI Flash芯片的有关代码,例如擦除一页、编程一页或一个字节、读取一页或一个字节的函数。如果SPI Flash型号有更换,只需修改该文件的代码。用户接口层只能被上一层应用层调用。
       应用层: 我会建一个SPI_Flash_APP.c文件,存放文件读取、文件写操作等函数,也就是与文件操作的相关函数。
       大家觉得这种方法如何?有什么不足和需要改进的地方?
 楼主| 泰山特曲123 发表于 2015-8-14 20:25 | 显示全部楼层
我会把这个模块放在一个文件夹中,如果其他项目有需要使用到该模块的,只需拷贝该文件夹,即可使用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

327

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部