ORFA ADC driver

Материал из roboforum.ru Wiki
Версия от 08:31, 11 июля 2009; =DeaD= (обсуждение | вклад) (Новая страница: «Категория:Open Robotics == Драйвер АЦП == Драйвер позволяющий управлять блоком Аналого-Цифрово...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Драйвер АЦП

Драйвер позволяющий управлять блоком Аналого-Цифрового Преобразователя (далее АЦП). Пока поддерживается только 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 линий АЦП контроллера OR-AVR-M32-D настроенного предыдущей командой