【百问网智能家居7】分层思想

【百问网智能家居7】分层思想

本博客是结合自身经验和百问网视频学习所做的总结,如有错漏,欢迎指正。

一、驱动层

驱动层一般实现硬件上相关设备的驱动,如一个的OLED屏幕,驱动层需要做的工作就是提供该型号OLED的初始化函数,发送命令函数,发送数据函数,发送多个字节数据函数,画点函数,画字符函数等。主要是提供该模块的所有功能函数。

二、硬件抽象层

如上述OLED屏幕,存在有IIC驱动方式,也有SPI驱动方式,还有8080并口驱动方式。这些就涉及到具体的MCU外设了也就是IIC、SPI接口和GPIO,当然IIC和SPI可以通过GPIO用软件来模拟时序。这就属于硬件实际的控制对象,一般来说,这些是某款芯片涉及的各个硬件寄存器控制的封装好的部分,如ST封装的HAL库。

三、平台层

对不同平台进行封装驱动层需要使用的功能。

四、设备层

对使用的平台层功能进行登记。

五、协议层

六、中间件层

一般有RTOS,文件系统,GUI等中间件,由第三方已经封装好了各项功能,我们来将他运用到我们程序的某个功能上来。

七、应用层

对具体的功能进行处理使用或者协作。

一般而言,对于我们实现一个项目的功能,可以参考网络资源的驱动程序,根据自己的用到的平台进行封装,再通过设备层来确认使用的具体功能,最后再自己编写具体的控制代码来实现该项目的具体功能。在项目中可能会涉及使用RTOS来提高实时性,或者涉及文件系统来管理外部SD内存,这时需要我们将这些功能移植到我们程序上来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值