Написал программку для работы с этим АЦП, для первого канала все работает.
Но возник вопрос - как правильно переключаться между каналами? Нужно ли перед каждым чтением проводить инициализацию АЦП для одного из каналов (в том числе самокалибровку), или можно один раз провести калибровку, а затем просто переключать канал?
Вот как я работаю с АЦП:
Инициализация:
Код
SPI_send(0x20); /* Active Channel is Ain1(+)/Ain1(-), next operation as write to the clock register */
SPI_send(0x01); /* ????? master clock enabled, 1 MHz Clock, set output rate to 25Hz*/
SPI_send(0x10); /* Active Channel is Ain1(+)/Ain1(-), next operation as write to the setup register */
SPI_send(0x44); /* gain = 1, unipolar mode, buffer off, clear FSYNC and perform a Self Calibration */
while(DRDY); /* wait for /DRDY to go low */
Далее в бесконечном цикле читаю данные:
Код
SPI_send(0x38); // next operation - read from the data register
while(DRDY); /* wait for /DRDY to go low */
SPI_read();
Хотелось бы узнать правильный алгоритм работы с двумя каналами.
Спасибо!