Контроль исправности i2C датчика
- Войдите на сайт для отправки комментариев
Пт, 03/04/2020 - 18:09
Всем доброго времени суток! Пишу скетч для часов на ГРИ, на шине I2C висят 3 датчика: DS3231, BME280 и BH1750. Если во время работы отключить ВМЕ280, гаснут индикаторы. Не выводится не только температура и влажность с ВМЕ280, но и время. Почему перестаёт работать DS3231 я так и не понимаю...
Вот функция, считывающая показания с 2 датчиков
void ReadData() { time.gettime(); hour = time.Hours; minute = time.minutes; second = time.seconds; day = time.day; month = time.month; year = uint8_t(time.year); if(millis()%1000==0) { humidity = bme280.getHumidity(); temp = bme280.getTemperature(); } }
Самое интересное, если записать в humidity и temp 0, даже после отключения ВМЕ280, DS3231 продолжает стабильно работать.
if(millis()%1000==0) { //humidity = bme280.getHumidity(); //temp = bme280.getTemperature(); humidity = 0; temp = 0; }
В связи с этим вопрос как можно контролировать работоспособность отдельного датчика, учитывая то, что показания считываются примерно раз в секунду????