ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

第 6 篇:模板方法模式 (Template Method) —— 万能驱动骨架

第 6 篇:模板方法模式 (Template Method) —— 万能驱动骨架

专栏导读:模板方法模式是“代码复用”的各种模式中最高效的一种。它定义了一个操作中的算法骨架(Standard Workflow),而将一些步骤延迟到子类中实现。在 C 语言驱动开发中,这意味着我们可以写一个“万能驱动器”,它规定了所有传感器必须遵守的生命周期,而具体的 I2C/SPI 读写操作则由具体的驱动文件去填空。


1. 场景还原 (The Pain)

假设你需要读取三个传感器:温湿度 (SHT30)、光照 (BH1750)、气压 (SPL06)。 为了省电,你的业务逻辑要求:读取前上电 -> 等待稳定 -> 读取数据 -> 校验数据 -> 立即断电

菜鸟的写法:各自为政

// sht30.c
float SHT30_GetTemp() {
    HAL_GPIO_WritePin(SHT_PWR, 1); // 上电
    HAL_Delay(20);                 // 等待
    I2C_Read(...);                 // 读取
    HAL_GPIO_WritePin(SHT_PWR, 0); // 断电
    return temp;
}<

返回列表