Контроль исправности 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;
}
В связи с этим вопрос как можно контролировать работоспособность отдельного датчика, учитывая то, что показания считываются примерно раз в секунду????