DFPlayer вывод номера трека

Gridzilla
Offline
Зарегистрирован: 25.10.2019
#include <LCD_1602_RUS.h>
#include "DFRobotDFPlayerMini.h"
#include "SoftwareSerial.h"

uint16_t files = 0;        // счетчик в папке с музыкой

void oled_muz(uint16_t files) {
int trek = myDFPlayer.readCurrentFileNumber(); // считываем номер проигрываемого трека
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(F("ТРЕК"));
  lcd.setCursor(6, 0);
  lcd.print(trek);
  lcd.setCursor(10, 0);
  lcd.print(F("ИЗ"));
  lcd.setCursor(13, 0);
  lcd.print(files);
  lcd.setCursor(0, 1);
  lcd.print(F(" ПЛЕЕР ВКЛЮЧЕН  "));
}

void setup()  {
  mySoftwareSerial.begin(9600);
  Serial.begin(9600);
  delay(1000);
  if (!myDFPlayer.begin(mySoftwareSerial)) {
    Serial.println("Unable to begin:");
    Serial.println("1.Please recheck the connection!");
    Serial.println("2.Please insert the SD card!");
    while (true);
  }
  myDFPlayer.setTimeOut(300);
  myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
  files = myDFPlayer.readFileCountsInFolder(3);        // Считаем сколько треков в папке с музыкой 03
  lcd.init();// инициализация дисплея
  lcd.backlight();
  lcd.clear();

 oled_muz ();
}

void loop () {
oled_muz();
}

Привет всем. Что-то я делаю не так. Хочу чтобы отображался номер проигрываемого трека, а он рисует мне -1. Подмогите, что я делаю не так? Либо направьте где почитать. 

Gridzilla
Offline
Зарегистрирован: 25.10.2019

В зависимости от того что написать uint16_t или просто int, он пишет либо верхний предел uint 65535 или же -1, соответственно. Количество файлов в папке пишет как надо.

Первое уже редактировать не дает.. Не прописал там что подключен он у меня к 10 и 11 пинам.
#define RX_MP3_PIN 10
#define TX_MP3_PIN 11
SoftwareSerial mySoftwareSerial(RX_MP3_PIN, TX_MP3_PIN);
DFRobotDFPlayerMini myDFPlayer;

LCD_1602_RUS lcd(0x27, 16, 2);