代码如下:设置了四个gpio,其中45没有任何连接,只是为了测试输出时,写入低,在读取出来
STATIC VOID_T bm_dev_init()
{
OPERATE_RET rt = OPRT_OK;
TUYA_GPIO_BASE_CFG_T bm_rk_t5_cfg = {
.mode = TUYA_GPIO_PUSH_PULL, // 修改为推挽输出
.direct = TUYA_GPIO_OUTPUT,
.level = TUYA_GPIO_LEVEL_LOW
};
TUYA_CALL_ERR_LOG(tkl_gpio_init(TUYA_GPIO_NUM_45, &bm_rk_t5_cfg));
TUYA_CALL_ERR_LOG(tkl_gpio_init(BM_APP_POWER_EN, &bm_rk_t5_cfg));
TUYA_CALL_ERR_LOG(tkl_gpio_init(BM_T5_CAMERA_EN, &bm_rk_t5_cfg));
TUYA_CALL_ERR_LOG(tkl_gpio_init(BM_RK_POWER_EN, &bm_rk_t5_cfg));
Code: Select all
TUYA_CALL_ERR_LOG(tkl_gpio_write(BM_RK_POWER_EN, TUYA_GPIO_LEVEL_LOW));
tal_system_sleep(50);
TUYA_CALL_ERR_LOG(tkl_gpio_write(BM_APP_POWER_EN, TUYA_GPIO_LEVEL_LOW));
tal_system_sleep(50);
TUYA_CALL_ERR_LOG(tkl_gpio_write(TUYA_GPIO_NUM_45, TUYA_GPIO_LEVEL_LOW));
UINT8_T level = 0;
UINT8_T level1 = 0;
UINT8_T level2 = 0;
TUYA_CALL_ERR_LOG(tkl_gpio_read(BM_RK_POWER_EN, &level));
TUYA_CALL_ERR_LOG(tkl_gpio_read(BM_APP_POWER_EN, &level1));
TUYA_CALL_ERR_LOG(tkl_gpio_read(TUYA_GPIO_NUM_45, &level2));
TAL_PR_DEBUG("[%s %d]+++++++++++++(%d,%d,%d)",__func__, __LINE__, level,level1,level2);
}
为什么写入低,读出来的是高呢?