Files

1.2 KiB

io_device_control

io_device_control 组件用于统一管理项目中的简单 IO 外设控制。

当前定义:

  • GPIO1:水泵控制(高电平有效)
  • GPIO0:光照控制(高电平有效)

对外接口

头文件:include/io_device_control.h

  • esp_err_t io_device_control_init(void);
    • 初始化 GPIO 输出方向,并将水泵与光照默认置为关闭(低电平)。
  • esp_err_t io_device_control_set_pump(bool on);
    • 控制水泵开关,true 为开,false 为关。
  • esp_err_t io_device_control_set_light(bool on);
    • 控制光照开关,true 为开,false 为关。

使用方式

app_main 中先初始化,后续在业务逻辑中按需调用控制接口。

#include "esp_check.h"
#include "io_device_control.h"

void app_main(void)
{
    ESP_ERROR_CHECK(io_device_control_init());

    // 后续按需调用
    // ESP_ERROR_CHECK(io_device_control_set_pump(true));
    // ESP_ERROR_CHECK(io_device_control_set_light(true));
}

注意事项

  • 控制接口在未初始化时会返回 ESP_ERR_INVALID_STATE
  • 若硬件驱动电路为反相,请在硬件层或组件内部统一处理,不建议在业务层散落取反逻辑。