|
发表于 2012-12-23 15:10:21
|
显示全部楼层
本帖最后由 f43 于 2012-12-23 15:11 编辑
xaper 发表于 2012-11-7 20:54
是自动加的
hi,我这里单次读写IIC已经行了,但是多次却不行,麻烦给看看,谢谢指点
I2C_Start(); //起始信号
I2C_SendByte(ADW); //发送设备地址+写信号
ACK///这个ack在单次读写时测试合格
I2C_SendByte(RA); //发送存储单元地址,从0开始
ACK///这个ack在单次读写时测试合格
I2C_Start(); //起始信号
I2C_SendByte(ADW+1); //发送设备地址+读信号
ACK///这个ack在单次读写时测试合格
for(index=0;index<14;index++)
{
pagedata[index] = I2C_RecvByte();
I2C_SendACK(0); ///这个函数的定义在下面
}
pagedata[index] = I2C_RecvByte();
I2C_SendACK(1);
I2C_Stop();
void I2C_SendACK(char ack)
{
SDA = ack; //写应答信号
SCL = 1; //拉高时钟线
Delay5us(); //延时
SCL = 0; //拉低时钟线
Delay5us(); //延时
} |
|