43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
# 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` 中先初始化,后续在业务逻辑中按需调用控制接口。
|
|
|
|
```c
|
|
#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`。
|
|
- 若硬件驱动电路为反相,请在硬件层或组件内部统一处理,不建议在业务层散落取反逻辑。
|