INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Problem Array übergabe
13.12.2014, 13:46
Beitrag #1
Problem Array übergabe
Hallo,

wir haben ein Problem mit dem Senden eines char Arrays an den PC.

In der SR_send Methode wird das package Array übergeben und mit Serial.write gesendet. Am PC empfangen wir allerdings eine negative Zahl. Meistens zwischen -50 und -120. Ist dies möglicherweise eine falsch konvertierte Speicherstellenangabe.

Code:
// Ein Paket an den PC senden
void SR_send(char package[], unsigned int package_length)
{

    // Paketlänge gültig?
    if(package_length > 0 && package_length < 256)
    {
        // Paketlänge senden
        Serial.write(package_length);

        // Package Array senden
        for(int i = 0; i < package_length; i++){
            Serial.write(package[0]);
        }
    }
    else
    {
        // Nein
        warning("Ungueltige Paketlaenge");
    }
}

// Erhaltene Daten verarbeiten
void SR_parse(char package[], unsigned int package_length)
{
    // Daten verarbeiten
    switch(package[0])
    {
        // Heartbeat
        case 0:
            // Paket erstellen
            char resp[1];
            resp[0] = 1;

            // Paket senden
            SR_send(resp, 1);

            // Fertig!
            break;

        // Meldung ausgeben
        case 1:
            // TODO
            break;

        // Sensoren ansprechen
        case 2:
            // TODO
            break;

        // Aktoren ansprechen
        case 3:
            // TODO
            break;

        // Ungültig
        default:
            // TODO: Fehler ausgeben
            break;
    }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2014, 15:48
Beitrag #2
RE: Problem Array übergabe
Hi,
das einzige, was mir auffällt ist hier:
Code:
for(int i = 0; i < package_length; i++){
             Serial.write(package[0]);
         }
Das müsste doch eigentlich Serial.write(package[i]); heißen, oder?
Allerdings erklärt das wahrscheinlich nicht Dein Problem. Du erwartest eine 1 am PC, oder?
Ich würde mal darauf tippen, dass da irgendwelche Parameter der seriellen Schnittstelle (Baudrate, Parity etc.) nicht zusammenpassen.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2014, 16:56 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2014 16:56 von Waishon.)
Beitrag #3
RE: Problem Array übergabe
@Thorsten Pferdekämper

Also Serial.write(42) z.B funktioniert einwandfrei, deswegem muss irgendetwas mit dem Array nicht stimmen.

Das Einsetzen der 0 war nur ein Test
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2014, 17:19
Beitrag #4
RE: Problem Array übergabe
Hast Du mal das hier versucht?
Code:
Serial.write((byte)(package[0]));
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2014, 17:42
Beitrag #5
RE: Problem Array übergabe
Vielen Dank,

Haben den Fehler gefunden. Lag an unserer eigenen Dummheit. Wir dachten wir senden mit SR_send, allerdings wurde es beim initialisieren gesendet.

Funktoniert jetzt also! Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2014, 17:52
Beitrag #6
RE: Problem Array übergabe
Na super, und ich wundere mich...
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ein als "const" deklariertes Array übergeben Retian 5 130 08.11.2016 18:39
Letzter Beitrag: Tommy56
  Problem mit SD Card Library BennIY 4 193 06.10.2016 18:38
Letzter Beitrag: Bitklopfer
  Problem mit SD.remove Eichner 6 212 22.08.2016 19:42
Letzter Beitrag: Eichner
  4x16 Tastermatrix Problem Michel 16 852 14.07.2016 10:02
Letzter Beitrag: StephanBuerger
  String-Array füllen? torsten_156 9 452 08.07.2016 20:07
Letzter Beitrag: amithlon
  Problem mit Delay und Millis funnyzocker 1 459 26.06.2016 09:54
Letzter Beitrag: hotsystems
  Problem mit ESP8266 und EMail senden torsten_156 1 606 13.06.2016 21:14
Letzter Beitrag: torsten_156
  Messwerte in Array speichern ArduinoMega2560 2 420 07.06.2016 16:30
Letzter Beitrag: SkobyMobil
  ESP8266_01 flashen - Problem torsten_156 12 1.056 30.05.2016 20:12
Letzter Beitrag: torsten_156
  Hardwareserial/Softserial: Problem mit Superklasse tuxedo0801 10 483 19.05.2016 12:25
Letzter Beitrag: amithlon

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste