• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z konwersją danych
#1
Question 
Witajcie!
 
Piszę program, w którym Arduino będzie losowało rozmiar tablicy, a następnie uzupełniało tablicę znakami alfanumerycznymi. Zatem na starcie nie znam dokładnego rozmiaru tablicy, mogę jedynie podać maksymalną pojemność tablicy. Program ma mieć schemat podobny do tego:
 
Kod:
int ROZMIAR; //
char ZNAK[40]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '=', '/', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
String WORD[11];
char c;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  ROZMIAR=random(2, 8);
  for (int i=1; i<=ROZMIAR; i++)
  {
    WORD[i-1]=ZNAK[random(0, 40)];
    Serial.print(WORD[i-1]);
}
  for (int j=1; j<=3; j++)
  {
    for(int i=1; i<=ROZMIAR; i++)                // w tej pętli wysyłamy pojedyncze elementy tablicy WORD do funkcji morse.send();
    {
      morse.send(WORD[i-1]);
    }
    delay(3000);
  }
  delay(5000);
  Serial.println(" ");
}

 
Środowisko wyrzuca mi błąd następującej treści:
 

Kod:
F:\Arduino\...\sketch_may31a.ino: In function 'void loop()':
sketch_may31a:40:27: error: no matching function for call to 'Morse::send(String&)'
       morse.send(WORD[i-1]);
                           ^
In file included from F:\Arduino\...\sketch_may31a.ino:1:0:
C:\Users\Michal\Documents\Arduino\libraries\Morse/Morse.h:20:8: note: candidate: void Morse::send(char)
   void send(char c);
        ^~~~
C:\Users\Michal\Documents\Arduino\libraries\Morse/Morse.h:20:8: note:   no known conversion for argument 1 from 'String' to 'char'
exit status 1
no matching function for call to 'Morse::send(String&)'

 
Podejrzewam, że chodzi o niezgodność typów zmiennych, tzn. string i char. W jaki sposób można dokonać konwersji z jednego na drugie?
Pozdrawiam,
Rób to, co kochasz i kochaj to, co robisz! VY 73 Smile
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości