gpio无法设置问题

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
13160058813
Posts: 41

代码如下:设置了四个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);

}

为什么写入低,读出来的是高呢?

Attachments
screenshot_2025-07-16_17-41-53.png
一个网友
Posts: 21
Location: ⭐星星⭐

Re: gpio无法设置问题

您好,
如果需要读IO电平的话,需要设置为输入模式,输出模式下读GPIO值是错误的

努力写bug……

Post Reply