初始化:
gpio_cfg_out(0);
udelay(500);
gpio_cfg_out(1);
udelay(30);
ret = gpio_cfg_in();
udelay(500);
================================================
写:
for (i = 0; i < 8; i++) {
if ((data & 0x1) == 1) {
gpio_cfg_out(0);
udelay(3);
gpio_cfg_out(1);
udelay(80);
} else {
gpio_cfg_out(0);
udelay(80);
gpio_cfg_out(1);
udelay(3);
}
data >>= 1;
}
==========================================================
读:
for (i = 0; i < 8; i++) {
gpio_cfg_out(0);
udelay(2);
gpio_cfg_out(1);//释放总线
udelay(5);
bit = gpio_cfg_in();
data |= (bit << i);
udelay(5);
gpio_cfg_out(1);
udelay(60);
}
return data;