有用过L3G4200D 的朋友请进
我想问下有用过L3G4200D 的朋友在焊接的时候 使用多少度的风枪来焊的 我不知道我的是不是焊坏了 数据老是不变化 能读ID不?先确认接口有没有问题 我使用280度,没坏。你能读取到有效数据,应该问题就不大,先读下ID吧,然后设置一下,激活它。 回复【2楼】gale-----------------------------------------------------------------------
请问模拟SPI如何读取ID? 回复【3楼】arielw
-----------------------------------------------------------------------
/*******************************************************************/
/*
/*L3G4200D读寄存器
/*
/*******************************************************************/
uchar L3G_R(uchar add)
{
uchar k,dat=0xFF;
add |=0x80; //写寄存器;地址不自动增加;
CS=0;
for(k=0;k<8;k++) //将寄存器的地址写入L3G4200D中
{
SCK=0;
if((add << k) & 0x80)
{
SDI = 1;
}
else
{
SDI= 0;
}
SCK=1;
}
SDI=1;
for(k=0;k<8;k++)//将目标寄存器的数据读出来
{
SCK=0;
dat=dat<<1;
if(SDO==1)dat++;
SCK=1;
}
CS =1;
SDI=1;
SDI=1;
return(dat);
}
/*******************************************************************/
/*
/*L3G4200D写寄存器
/*
/*******************************************************************/
void L3G_W(uchar add,uchar dat)
{
uchar k;
add &=0x3F; //写寄存器;地址不自动增加;
CS =0;
for(k=0;k<8;k++) //将寄存器的地址写入L3G4200D中
{
SCK=0;
if((add << k) & 0x80)
{
SDI = 1;
}
else
{
SDI= 0;
}
SCK=1;
}
for(k=0;k<8;k++) //将配置数据写入L3G4200D寄存器中
{
SCK=0;
if((dat << k) & 0x80)
{
SDI = 1;
}
else
{
SDI= 0;
}
SCK=1;
}
SDI=1;
CS =1;
SDI=1;
SDO=1;
}
好几个人好像都不知道读ID。这是我用过的程序,
希望高手帮小弟们解决这个芯片的用法啊
页:
[1]