想写个在给地址后能一直读或写的程序,因为郭天祥的教程里只有单个字节读写示例。可在网上找了好久没找到合适的示例,只好自己看着手册,慢慢摸索。皇天不负苦心人呀,终于出来了。
写完程序的同时也学会了怎样看手册的时序图。
还有此代码只实现了同时写读两个字节,至于在未达到芯片页面通信量的最大值的范围内都可以用FOR循环实现。下面就是代码:
#include
#include
#define uchar unsigned char
sbit sda = P2^0;
sbit scl = P2^1;
delay()
{;;}
init()
{
// sda = 1;
// delay();
// scl = 1;
// delay();
}
start()
{
sda = 1;
// delay();
scl = 1;
delay();
sda = 0;
delay();
}
stop()
{
sda = 0;
// delay();
scl = 1;
delay();
sda = 1;
delay();
}
respons_i2c()
{
uchar i;
scl = 1