下面两个函数都是I2C读取24c02的,一个函数有一个变量和一个返回值,一个有两个变量.感觉那个返回值的应该可以代替那个参数,为什么在调试时有些问题。请教下区别,第一个带返回值的怎么改跟第二能够一样呢?
1.///////////////////
uchar read_add(uchar add)
{
uchar *num;
start();
writebyte(0xa0);
testack();
writebyte(add);
testack();
start();
writebyte(0xa1);
testack();
*num=readbyte();
stop();
return (num);
num++;
}
2.///////////////////////
void Read_2402(uchar add,uchar *num)
{
start();
writebyte(0xa0); // send device address
writebyte(add); //send unit address
start(); //start I2C again
writebyte(0xa1);
*num=readbyte();
num++;
stop();
} |