Проблемы с работой AD7705
Добавлено: Пт окт 01, 2010 11:03:35
Добрый день.Есть следующая проблема. При опроса бита занятости он через некоторое время всегда читается как 1. Если ставить просто задержку , на пример 0,5 сек., не опрашивая бит занятости, то всё работает...Не могу понять почему так?
НЕРАБОЧИЙ КОД
ClbChannel(0,Gain64);// калибровка
while(P2IN & BIT3); // стоим пока бит занятости 1
while(1)
{
if(!(P2IN & BIT3)) /* wait for /DRDY to go low */
{
WriteToRegADC(0x38); // команда чтения
ReadADC(); // lStore // чтение
Code=lStore;
}
}
РАБОЧИЙ КОД
ClbChannel(0,Gain64);// калибровка
while(P2IN & BIT3); // стоим пока бит занятости 1
while(1)
{
WriteToRegADC(0x38); // команда чтения
ReadADC(); // lStore // чтение
Delay(0.2); // Задержка
Code=lStore;
}
НЕРАБОЧИЙ КОД
ClbChannel(0,Gain64);// калибровка
while(P2IN & BIT3); // стоим пока бит занятости 1
while(1)
{
if(!(P2IN & BIT3)) /* wait for /DRDY to go low */
{
WriteToRegADC(0x38); // команда чтения
ReadADC(); // lStore // чтение
Code=lStore;
}
}
РАБОЧИЙ КОД
ClbChannel(0,Gain64);// калибровка
while(P2IN & BIT3); // стоим пока бит занятости 1
while(1)
{
WriteToRegADC(0x38); // команда чтения
ReadADC(); // lStore // чтение
Delay(0.2); // Задержка
Code=lStore;
}