本帖最后由 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是什么传输?
o
一周热门 更多>