由于硬件IIC的gpio使用不了,所以我想用GPIO模拟IIC,使用过程中需要切换GPIO输入输出方向,但好像只有tkl_gpio_init函数重新初始化才能设置输入输出方向,我调用如下set_sda_inout(1);函数设置GPIO为输出模式时,GPIO电平会先变低,再变高,这个是为什么
void set_sda_inout(char inout)
{
OPERATE_RET rt = OPRT_OK;
TUYA_GPIO_BASE_CFG_T led_cfg = {
.mode = TUYA_GPIO_PUSH_PULL,
.direct = inout,
.level = TUYA_GPIO_LEVEL_HIGH
};
if(inout == TUYA_GPIO_INPUT)
led_cfg.mode = TUYA_GPIO_PULLUP;
tkl_gpio_init(I2C_SDA_PIN, &led_cfg);
}
【已解决】tuyaos-bk7231n-3.3.3的GPIO模拟I2C问题
【已解决】tuyaos-bk7231n-3.3.3的GPIO模拟I2C问题
Re: tuyaos-bk7231n-3.3.3的GPIO模拟I2C问题
i2c 软件驱动可以看这个帖子:viewtopic.php?t=789
如果你手上的sdk 是在 2023年3月14 之前下载的话,你可以重新下载下。 2023年3月14 之后下载里面有个 tuyaos_dimmer_driver_demo_quickstart
示例中有软件 i2c 的驱动
Re: tuyaos-bk7231n-3.3.3的GPIO模拟I2C问题
OK,找到了,谢谢