Дальше про MLX90640
Методом тыка Монте-Карло установлено, что при чтении посредством DMA какого-то количества байт из последних 128Б буфера устройства возникает нечто, приводящее к подвисанию шины I2C. При этом сброс со стороны МК ни к чему не приводит, нужно выключать питание датчика и включать снова.
Если же читать регистры поочередно, каждый раз сначала засылая команду с номером регистра, ничего такого не происходит. Видимо, придется в данном случае обойтись без DMA и увеличить время приема почти в 2 раза!
Благо, буфер за это время не меняется, т.к. я запретил автоматическое обновление RAM светоприемника: только по запросу от МК.
Продолжаю писать код…
Интересно, во сколько денег обойдется нормальный датчик, без косяков, как у этого (скажем, этот не умеет точно измерять температуры ниже нуля по Цельсию, т.е. нормальный "all-sky" на таких не построишь)?
Если же читать регистры поочередно, каждый раз сначала засылая команду с номером регистра, ничего такого не происходит. Видимо, придется в данном случае обойтись без DMA и увеличить время приема почти в 2 раза!
Благо, буфер за это время не меняется, т.к. я запретил автоматическое обновление RAM светоприемника: только по запросу от МК.
Продолжаю писать код…
Интересно, во сколько денег обойдется нормальный датчик, без косяков, как у этого (скажем, этот не умеет точно измерять температуры ниже нуля по Цельсию, т.е. нормальный "all-sky" на таких не построишь)?