Добрый день, господа! Недавно начал проверять данный модуль на работоспособность стандартных ардуиновских команд. Дойдя до analogWrite, столкнулся с переодическими зависаниями устройства. На вход АЦП ничего не подаю, просто оставляю висеть в воздухе, либо прижимаю напрямую к земле. Скетч самый незамысловатый:
При этом выводится несколько показаний и происходит перезагрузка модуля с выводом следующего сообщения (прикрепил изображение).
Заметил, что чем меньше задержка, тем больше показаний модуль успевает выдать, т.е. перезагрузка будто бы связана с каким-то внутренним таймером.
Также тестировал без вывода в UART, просто периодически мигаю диодом и снимаю показания с АЦП. Результат тот же, диод просто на время замирает, а потом снова продолжает мигать.
По железу: CP2102 с напаяным преобразователем LF33 (AMS1117 под рукой не нашлось), DTR, RTS выводы подведены к модулю, прошивается все корректно.
Схема подключения как в этой статье, конденсатор на 100нФ подключен.
Код:
void setup() {
Serial.begin(115200);
}
void loop() {
delay(400); //пробовал разные задержки, результат одинаковый
int sensorValue = analogRead(A0);
float voltage = sensorValue * (1.0 / 1023.0);
Serial.println(voltage);
}
Заметил, что чем меньше задержка, тем больше показаний модуль успевает выдать, т.е. перезагрузка будто бы связана с каким-то внутренним таймером.
Также тестировал без вывода в UART, просто периодически мигаю диодом и снимаю показания с АЦП. Результат тот же, диод просто на время замирает, а потом снова продолжает мигать.
По железу: CP2102 с напаяным преобразователем LF33 (AMS1117 под рукой не нашлось), DTR, RTS выводы подведены к модулю, прошивается все корректно.
Схема подключения как в этой статье, конденсатор на 100нФ подключен.
Вложения
-
34.6 KB Просмотры: 38