ORFA ADC driver

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск


Драйвер АЦП

Драйвер позволяющий управлять блоком Аналого-Цифрового Преобразователя (далее АЦП). Пока поддерживается только 8 входов АЦП (весь порт A любого контроллера).

Количество регистров, используемых драйвером - 2. Далее будем считать, что {cc} - первый регистр драйвера, {mm} - второй регистр.

Первый регистр - конфигурационный, в него пишутся 2 байта всегда:

  1. Настройки АЦП:
    • биты 0..1:
      • 00 - External reference
      • 01 - AVCC
      • 10,11 - Internal reference
    • бит 2 - режим точности АЦП:
      • 0 - 8-битный;
      • 1 - 11-битный;
  2. Маска включаемых в АЦП каналов (8 бит - соотв. 8 линиям порта А);

Второй регистр для чтения результатов - из него читаются 8 байт, если режим 8-битный или 16 байт, если режим 16-битный. Можно читать меньше, но тогда будем знать состояние первых нескольких линий.

ВНИМАНИЕ!!! Чтение линий АЦП происходит в автоматическом циклическом режиме, поэтом после конфигурирования АЦП необходимо сделать паузу в ?? перед чтением значений.

Примеры (для OR-AVR-M32-D)

ВНИМАНИЕ! Все команды должны оканчиваться переводом строки, который означает окончание команды и передачу её на исполнение!

Установить АЦП в 8-битный режим, внутреннее опорное напряжение и включить 0..3 линии АЦП

Прочитать значения первых 4 линий АЦП, настроенного предыдущей командой