Всем привет! вот уже пару недель не могу победить одну проблему...
Исходные данные:
ESP-01 в качестве мастера, Arduino Pro Mini в качестве слейва.
Мастер опрашивает достаточно часто (20 раз в секунду)
Примерно после 4-6 часов передача данных затывается.
Отладка через свободные UART в консоль.
что выяснено (что происходит после затыка):
1) оба MCU работают (на записли, loop() дергается итп.).
2) мастер при опросе получает 0 данных (у меня передача строк. строка 0 длинны)
3) на строне слейва void receiveEvent(int howMany) не вызывается...
4) после харварного перезапуска одного из MCU - передача возобновляется.
Итого:
Как можно переинициализировать передачу данных?
Какие есть способы для отладки?
Осцилографа нету
Возможно слейв занал линию?
Натыкался на статьи для PIC-ов. Там как-то хитро выключали "аппаратный" I2c и программно "выгребали" данные
Вот мой код:
для AVR https://github.com/ddv/hydroponics/blob/master/src/avr_hydro/avr_hydro.cpp
для ESP https://github.com/ddv/hydroponics/blob/master/src/esp8266_hydro/esp8266_hydro.cpp
Исходные данные:
ESP-01 в качестве мастера, Arduino Pro Mini в качестве слейва.
Мастер опрашивает достаточно часто (20 раз в секунду)
Примерно после 4-6 часов передача данных затывается.
Отладка через свободные UART в консоль.
что выяснено (что происходит после затыка):
1) оба MCU работают (на записли, loop() дергается итп.).
2) мастер при опросе получает 0 данных (у меня передача строк. строка 0 длинны)
3) на строне слейва void receiveEvent(int howMany) не вызывается...
4) после харварного перезапуска одного из MCU - передача возобновляется.
Итого:
Как можно переинициализировать передачу данных?
Какие есть способы для отладки?
Осцилографа нету
Возможно слейв занал линию?
Натыкался на статьи для PIC-ов. Там как-то хитро выключали "аппаратный" I2c и программно "выгребали" данные
Вот мой код:
для AVR https://github.com/ddv/hydroponics/blob/master/src/avr_hydro/avr_hydro.cpp
для ESP https://github.com/ddv/hydroponics/blob/master/src/esp8266_hydro/esp8266_hydro.cpp