打印
[STM32]

单片机编程方法讨论

[复制链接]
905|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

粉丝