在Linux下用GPIO模拟I2C通信(软件)
1.设置两个引脚分别模拟SDA,SCL两条总线;
2.导出GPIO引脚;
3.编写GPIO的输入输出函数(gpio_des);控制gpio输入输出方向
4.编写GPIO的高低电平控制函数,void gpio_set_value(int pin,int high_or_low);
5.编写GPIO的读取高低电平函数,int gpio_get_value(int pin);
6.编写起始信号,结束信号的电平变化函数;
7.编写等待ACK,NACK的函数;
8.编写发送ACK,NACK的函数;
9.编写发送一个字节的函数;
10.编写接受一个字节的函数;
11.编写初始化函数;
12.编写读取函数;(总的来说,还是利用I2C 时序来进行大体的通信模块的编写)