关于ds1302和at2402的数据传输的问题,求助

2019-07-16 04:32发布

本帖最后由 18256911258 于 2012-9-23 11:49 编辑

DS1302写和读是这样的
void write_byte(uchar dat)//写一个字节
{
ACC=dat;
RST=1;
for(a=8;a>0;a--)
{
  IO=ACC0;
  SCLK=0;
  SCLK=1;
  ACC=ACC>>1;
}
}
uchar read_byte()//读一个字节
{
RST=1;
for(a=8;a>0;a--)
{
  ACC7=IO;
  SCLK=1;
  SCLK=0;
  ACC=ACC>>1;
}
return (ACC);
}
写和读都是把溢出位传输吗?8位1个字节?
void write_1302(uchar add,uchar dat)//向1302芯片写函数,指定写入地址,数据
{
RST=0;
SCLK=0;
RST=1;
write_byte(add);
write_byte(dat);
SCLK=1;
RST=0;
}这个函数的数据地址add可以随便写吗?读的时候只要地址一样就行?
at2402的void write_ac2402add(uchar address,uchar date)我试过add是可以随便写的,知道读的地址一样就行,可是1302就会出现错误。at2402是II2总线传输,而1302是什么传输?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。