Добрый день. Почему-то при работе с dfplayer функция setup запускается в цикле. КАК?!?! При это плеер постоянно перезапускается Код (C++): #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true){ delay(0); // Code to compatible with ESP8266 watch dog. } } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.volume(10); //Set volume value. From 0 to 30 myDFPlayer.play(1); //Play the first mp3 } void loop() { int arr[10000]; for(int i = 0; i < 10000; i++) arr[i] = analogRead(A0); for(int i = 0; i < 10000; i++) Serial.println(arr[i]); } Подключение стандартное + DAC_L подключен к A0. При отключении этого соединения проблема не исчезает. Если закоментировать содержимое loop, то работает. Плюс иногда в COM монитор прилетают битые символы, и иногда символы просто не доходят.
Плата уно, также тестировал на мене. Код на основе примера. Какая разница чей код, главное, что он не работает, хотя должен работать
код работает всегда, каким бы он ни был. Если он не работает, значит МК на помойку. где комментарии к коду? а вот это зачем?
Комментарии убрал чтобы не мешали. While true - это строка из примера, блокировка мк при неудачном соединении с плеером. Проблема в том, что при удачном соединении плеер перезагружается и setup выполняется опять О_о.
Я уже раз десять тут писал, что библиотека DFRobotDFPlayerMini.h и ей подобные, кривая. Точнее, кривая не она, а китайский аналог той платы под которые она написана. И рассказывал в чем именно. Более того, я приводил тут функции, которые без глюков работают именно на наших плеерах. Я их придумал давным-давно и пользуюсь примерно с того же времени, до сих пор работают сразу и всегда. Мог бы повторить, но лень. Тут все уже есть.
int arr[10000]; for(int i =0; i <10000; i++) arr= analogRead(A0); где ты нашол в Дуне 20К ОЗУ? Естесственно, у тебя стек лезет вниз, пока не затрет твои нехитрые остальные переменные. Потом Дуня облегченно перезапускаеца