• 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
Przechwycenie znaków wpisywanych do monitora portu szeregowego do tablicy
#1
Witam, czy ktoś ma pomysł dlaczego poniższy kod nie działa? Idea jest taka, że po wpisaniu łańcucha znaków (o różnej długości!) do monitora portu szeregowego dane te powinny zostać wpisane do tablicy a tablica wyświetlona w okienku monitora:

Kod:
char message[20]; //zadeklarowanie tablicy do przechowywania 20 znaków = 19 liter + 1 znak końca łańcucha '\0'
int i = 0; //zadeklarowanie zmiennej i jako licznika kolejnych elementów tablicy
int ilosc; //zadeklarowanie zmiennej ilosc jako dodatkowego licznika

void setup()
{
 Serial.begin(9600);
 while (!Serial); //wymagane odczekanie jeśli wykorzystujemy Leonardo
}

void loop()
{
if (Serial.available() > 0) //Gdy w buforze pojawi się pierwszy bajt - pierwszy znak otrzymany przez port szeregowy
{
     delay(1000);
if (i=0)
         {
         ilosc = Serial.available();
         Serial.println("ilość znaków w buforze: ");
         Serial.println(ilosc);
         i=i+1;
         }
     else
         {
         i=0;
         for (i=0; i<ilosc; i++)
{
message[i] = Serial.read(); //przypisanie pierwszej komórce tablicy message najstarszego (nie wykasowanego jeszcze) znaku z pamięci bufora
        }  
message[ilosc] ='\0';
         Serial.println(message); //wyświetl całą tablicę w monitorze portu szeregowego
         i = 0;
         ilosc=0;
        delay(3000);
         }
}
}
 
Odpowiedź
  


Wiadomości w tym wątku
Przechwycenie znaków wpisywanych do monitora portu szeregowego do tablicy - przez MarJanPol - 10-02-2018, 23:08

Skocz do:


Przeglądający: 2 gości