关于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是什么传输?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
18256911258
1楼-- · 2019-07-16 09:01
求助啊···
dopeng1314
2楼-- · 2019-07-16 14:23
1302采用三线同步传输的方式
18256911258
3楼-- · 2019-07-16 14:26
dopeng1314 发表于 2012-9-23 14:42
1302采用三线同步传输的方式

详细点好吗?
yekai2005
4楼-- · 2019-07-16 15:15
write_byte(add);
write_byte(dat);
lovezjf234
5楼-- · 2019-07-16 16:43
 精彩回答 2  元偷偷看……
18256911258
6楼-- · 2019-07-16 22:36
lovezjf234 发表于 2012-9-24 12:26
1302读和写的地址有点不一样。读的地址是末尾是奇数,写是偶数。在同位读写的时候读比写大一位,比如在0x80 ...

o

一周热门 更多>