Прочитайте TMD37821 (он же датчик цвета V2 от RevRobotics). Как это работает? - PullRequest
0 голосов
/ 18 февраля 2020

Мне нужна помощь в понимании работы датчиков i2 c.

На данный момент мне удается прочитать значения из TMD2772 (следуя некоторым примерам и пытаясь отправить разные данные и посмотрим, что изменится), но я хотел бы понять идею, лежащую в основе (для того, чтобы иметь возможность управлять следующим сензором, мне потребуется только просмотр таблицы данных.

После написания этого кода я уведомляю, что первым шагом для чтение значений для моего датчика - это настройка некоторых регистров:

  1. Включить регистр (отсюда я активирую функции датчика)
  2. RGB C Регистр времени интеграции (я установил) до циклов, но я не понимаю, для чего * 1 036 *. Для меня это только выглядит как сумма 1037 * циклов показаний
  3. регистр времени ожидания (я настроил некоторое время, но я также не понимаю, для чего - я пытался установить WEN от 0 до 0, и мой датчик все еще работает и возвращает значения RGB и Clear)
  4. Регистр постоянства прерываний (я понятия не имею, какие диапазоны указаны, но я полагаю, что они связаны с предыдущими 2 интервалами регистра * 1044) * Очистить пороговые регистры прерывания канала (0x04 - 0x07) и Пороговые регистры прерывания сближения (0x08 - 0x0b) )
  5. Регистр конфигурации (я не знаю Не понимаю, почему я хотел бы иметь большее время ожидания между показаниями - поэтому я не утверждал этот WLONG бит)
  6. Регистр подсчета импульсов приближения (я пытался изменить количество импульсов, но не сделал вижу разницу
  7. Регистр управления (здесь я изменил PDATA и PDRIVE, но я не понял, что они делают)

Установка всех этих регистров использует некоторые команда , которую я не могу понять, почему я должен всегда отправлять 0b10000000, когда я устанавливаю некоторые параметры в регистр.

Не могли бы вы объяснить мне (следуя моему коду), что именно я Я делаю и что они имеют в виду под вещами, которые я написал в itali c?

...