小弟最近在学iic总线,对单字节的读写没有问题,但对于页读取还是存在问题。 按照手册上的说明,编写的程序如下: 在PROTEUS上仿真,发现ic在读完控制字和地址之后,没有对数据进行读写。 把写页函数进行修改,改用如下的程序,是可以写入。 void writePage(uchar addr,uchar s,uchar n) { iicStart(); writeByte(0xa0); // 写控制字 iicResponse(); // 应答 writeByte(addr); // 写地址 iicResponse(); while(n--) { writeByte(s); // 写数据 iicResponse(); s++; } iicStop(); }
}
void main() { writePage(1,0x30,16); while(1); }
不会是没有识别指针变量吧?高手帮帮忙啊,小弟先谢谢了。 |