500分问一个AT2405
来源:百度知道 编辑:UC知道 时间:2024/09/22 18:30:37
我现在做一个AT2405的实验,因为一次只能写一个字节得数,所以一次也只能写入小于256得数,如果我想往大于256的地址里写数,该如何写呀,因为一个字节只能表示小于256得数,是不是要写两次地址呀,该如何写呀,哪位高手告诉我呀,下面是我自己写的程序,看看那出错了。
void delaynop()
{ ;;; }
void start() //开始信号
{
sda=1;
delaynop();
scl=1;
delaynop();
sda=0;
delaynop();
}
void stop() //停止
{
sda=0;
delaynop();
scl=1;
delaynop();
sda=1;
delaynop();
}
void respons() //应答
{
unsigned int i;
scl=1;
delaynop();
while((sda==1)&&(i<250))i++;
scl=0;
delaynop();
}
void initat()
{
sda=1;
delaynop();
scl=1;
delaynop();
}
void write_byte(unsigned int datat)
{
unsigned int r,tempat;
tempat=datat;
for(r=0;r<8;r++)
{
tempat=tempat<<1;
scl=0;
delaynop();
sda=CY;
delaynop();
scl=1;
delaynop();
void delaynop()
{ ;;; }
void start() //开始信号
{
sda=1;
delaynop();
scl=1;
delaynop();
sda=0;
delaynop();
}
void stop() //停止
{
sda=0;
delaynop();
scl=1;
delaynop();
sda=1;
delaynop();
}
void respons() //应答
{
unsigned int i;
scl=1;
delaynop();
while((sda==1)&&(i<250))i++;
scl=0;
delaynop();
}
void initat()
{
sda=1;
delaynop();
scl=1;
delaynop();
}
void write_byte(unsigned int datat)
{
unsigned int r,tempat;
tempat=datat;
for(r=0;r<8;r++)
{
tempat=tempat<<1;
scl=0;
delaynop();
sda=CY;
delaynop();
scl=1;
delaynop();
太难了
太太太太太太太太太太难了,就你这种问法,给1万分也没用,应该找个电脑方面的高手,亲自咨询!
这些问题太高端了····要不你分给我了、??
不懂.想帮也帮不上.!