void NC_Read(unsigned char addr,unsigned char n,unsigned char *buf)
你把这个函数改一下不就可以了吗?
unsigned char I2cSendByte(unsigned char dat)
这个函数是有返回值的,你在写入IIC器件的时候,得使用这个返回值呀,你得让这个返回值派上用场呀
如果都不用这个返回值,那还返回干嘛,直接等待不就行了
void NC_Read(unsigned char addr,unsigned char n,unsigned char *buf)
{
// unsigned char num;
unsigned char a;
I2cStart();
a=I2cSendByte(0xa0); //发送写器件地址
if(a==0).................................//a==0时,器件是没有正常应答的,这里要处理
a=I2cSendByte(addr); //发送要读取的地址
I2cStart();
a=I2cSendByte(0xa1); //发送读器件地址
while(n--)
{
*buf++=I2cReadByte();
{
当N=0时
要使函数I2cSendByte(unsigned char dat)返回0,这个表达式怎么写;
}
}
I2cStop();
|