|
這段程序讀出寄存器數(shù)據(jù)沒(méi)有問(wèn)題,但是我想可不可以依次從首地址連續(xù)讀出數(shù)據(jù)直到主機(jī)發(fā)出NACK
信號(hào)結(jié)束。還想請(qǐng)教一下大家
uchar date[7]; /* date[2]=hour,date[1]=minute,date[0]=second*/
uchar read_ds3231(uchar address) //從DS3231的某個(gè)地址讀取1byte數(shù)據(jù)
{
uchar dat;
uchar n;
start();
write_i2c(0xd0);
while(!respons());
write_i2c(0x00); // 寫(xiě)秒寄存器地址
while(!respons());
start();
write_i2c(0xd1);
while(!respons());
date[0]=read_i2c();
stop();
delay();delay();delay();delay();
start();
write_i2c(0xd0);
while(!respons());
write_i2c(0x01); // 寫(xiě)分寄存器地址
while(!respons());
start();
write_i2c(0xd1);
while(!respons());
date[1]=read_i2c();
stop();
delay();delay();delay();delay();
start();
write_i2c(0xd0);
while(!respons());
write_i2c(0x02); //寫(xiě)小時(shí)寄存器地址
while(!respons());
start();
write_i2c(0xd1);
while(!respons());
date[2]=read_i2c();
stop();
} |
|