- 论坛徽章:
- 0
|
FL 2440通过iic写24c02出错?
下面是 我能通过IIC写数据的函数 ,请大家看一下是否有问题?每次写入的数据 都不是希望的值 ?而且有时会
阻塞在 while(rIICSTAT&1);处等等ACK,其它配置都没有问题用的是ADS实验中的源码,就是把写函数改成如下了 ,请指点
void Wr24C02hl(U32 slvAddr,U32 addr,U8 data)
{
rIICDS = slvAddr;
rIICSTAT = 0xf0;
while(rIICCON & 0x10==0);
while(rIICSTAT&1);
rIICDS = addr;
ClearBit(&rIICCON,4);
while(rIICCON & 0x10==0);
while(rIICSTAT&1);
rIICDS = data;
ClearBit(&rIICCON,4);
while(rIICCON & 0x10==0);
while(rIICSTAT&1); //等待应答ACK
rIICSTAT = 0xd0;
Delay(1); //Wait until stop condtion is in effect.
} |
|