-         

Ergebnis 1 bis 2 von 2

Thema: über UART empfangene daten weiterverarbeiten

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.05.2008
    Beiträge
    52

    über UART empfangene daten weiterverarbeiten

    Anzeige

    Hallo Leute, ich hab mal ne Frage.
    Ich will meinen RP6 über Labview fernsteuern, doch beim schreiben des Programms hab ich grad ein paar Schwierigkeiten.
    Ich will hingehen und den Inhalt des Empfangsbuffers mit anderen Werten vergleichen. Also z.B. wenn eine 1 empfangen wird soll er mit dem Programm fortfahren.
    Ich versuch mir das mit der UART Schnittstelle grad anhand des Beispielprogramms RP6Base_SerialInterface_02.c zu erklären.
    Anhand von dem Teil des Quelltext

    Code:
    	while(true) // Loop until we received one line of Data!
    	{ 
    		if(getBufferLength())    // Check if we still have data (means getBufferLength() 
    		{						 // is not zero)	
    			receiveBuffer[buffer_pos] = readChar(); // get next character from reception buffer
    			if(receiveBuffer[buffer_pos]=='\n') // End of line detected!
    			{
    				receiveBuffer[buffer_pos]='\0'; // Terminate String with a 0, so other routines.
    				buffer_pos = 0;                 // can determine where it ends!
    												// We also overwrite the Newline character here.
    				break; // We are done and can leave reception loop!
    			}
    			else if(buffer_pos >= charsToReceive) // IMPORTANT: We can not receive more 
    			{								 	  // characters than "charsToReceive" because
    												  // our buffer wouldn't be large enough!
    				receiveBuffer[charsToReceive]='\0';	// So if we receive more characters, we just 
    												     // stop reception and terminate the String.
    				writeString_P("\n\nYou entered more characters than possible!\n");
    				break; // We are done and can leave reception loop!
    			}
    			buffer_pos++;
    			
    		}										 
    	}
    	writeChar('\n');
    	// ------------------------------------------
    	// Do something with the received answer:
    	
    	switch(question) // select the question...
    	{
    		case 0: // Question 0: What's your name?
    			writeString_P("Hello \"");
    			writeString(receiveBuffer); // Output the received data as a String
    			writeString_P("\" !\n");
    		break;
    versuch ich grad ein bissl zu arbeiten. Kann ich denn diesen Receivebuffer auch einfach mit einem Wert vergleichen?

    if(receiveBuffer=1)
    {
    ...
    }

    Würde das denn gehen?
    Und die andere Frage, ich würde gerne etwas übertragen in der Art
    "50 50" oder "132 70"
    Wie kann ich mich denn ranmachen diese Übertragung zu zerlegen?
    Kann man da hingehen, den Buffer auslesen und alles bis zum Leerzeichen in eine Variable schreiben, alles nach dem Leerzeichen bis zum Ende dann in eine andere Variable? An der Stelle werden immer nur Zahlen übertragen.

    Danke schonmal für die Hilfe und Grüße

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Hallo,

    s. meine Postings in dem Thread hier:
    http://www.roboternetz.de/phpBB2/zei...ag.php?t=49464


    MfG,
    SlyD

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •