ch423-dat-gpios= <&gpio4 RK_PB6 GPIO ACTIVE_HIGH>;
}
使用gpio命令查看,两个模拟gpio iic模拟脚已经注册成功。
![](https://img-blog.csdnimg.cn/afb9e24f39284fcc89217384f1d93864.png)
## 四.模拟iic伪代码
#define DELAY 1
typedef unsigned char u8;
typedef unsigned short u16;
/* 这些代码是框架,直接使用即可 */
// 定义一个延时xms毫秒的延时函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x = xms; x > 0; x–)
for(y = 110; y > 0; y–);
}
/start***********/
static void i2c_start(void)
{
gpio_direction_output(SDA_PIN, 1);
gpio_direction_output(CLK_PIN, 1);
delay(DELAY);
gpio_set_value(SDA_PIN, 0);
delay(DELAY);
gpio_set_value(CLK_PIN, 0);
delay(DELAY);
}
/******stop/
static void i2c_stop(void)
{
gpio_set_value(CLK_PIN, 0);
gpio_set_value(SDA_PIN, 0);
delay(DELAY);
gpio_set_value(CLK_PIN, 1);
delay(DELAY);
gpio_set_value(SDA_PIN, 1);
delay(DELAY);
}
/send_ack