mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik R8C: Sensorausgabe über UART0?


Autor: Michael T. (michelback)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

vielen Dank erstmal an alle, die mich bisher bei meinem R8C/22-Projekt 
unterstützt haben. Bisher kann ich über die UART0 LEDs an und 
ausschalten. Ich habe jetzt einen Feuchte-Temperatur-Sensor an den 
Mikocontroller angeschlossen und möchte mir gerne die Werte an der UART0 
Schnittstelle ausgeben lassen (an Hterm senden). Leider klappt das 
bisher nicht. Ich habe mein Projekt mal angehängt. Nicht erschrecken,ich 
habe versucht das Programm für die Auswertung der Sensorsignale (von 
Sensirion) einzubinden. Wenn ich über Hterm eine '1' eingebe, soll die 
Messung gestartet werden.

Fragen:
Das original Programm von sensirion schickt über

printf("temp:%5.1fC humi:%5.1f%% dew 
point:%5.1fC\n",temp_val.f,humi_val.f,dew_point);

die Messergebnisse an die UART. Bei mir kommt allerdings nichts an. 
Ausserdem habe ich mal gelesen, dass printf beim R8C nicht gut 
funktioniert. Zudem ist printf wahrscheinlich auf die UART1 bezogen und 
nicht auf UART0. Ich habe bisher gelesen, dass man über das Einbinden 
der device.c datei von UART1 auf UART0 umstellen kann. Allerdings weiß 
ich nicht was ich da genau machen muss...
Ich suche einfach eine Lösung, um an die Messergebnisse über die UART0 
zu kommen. Hat jemand eine Idee, wie das funktioniert?

Grüße und vielen Dank,
Michael

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du zuerst angeben - printf() funktionsfähig machen oder 
schnell Werte über UART auf dem PC sehen?

Falls letzteres: Du kannst den Text plus Werte auch mit sprintf() in 
einen Puffer schreiben lassen und den Puffer mit der bereits vom 
Echo-Beispiel bekannten UART0 Senderoutine an den PC (HTERM) 
verschicken.

Autor: Michael T. (michelback)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

ich will nur die Messergebnisse über uart an den PC senden. Printf hatte 
ich deswegen im Kopf, weil das im Beispielprogramm von Sensirion 
angegeben war.
Wie würde denn so ein sprintf-Befehl mit Puffer aussehen? In etwa so?:

messergebnis=sprintf(temp_val.f, humi_val.f, dew_point)

Den Text brauche ich nicht, nur die messergebnisse.
Grüße und vielen Dank,
Michael

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du kein C-Buch? Tipp: Wunschzettel schreiben, jetzt gilt's.

Ersetze

        printf("temp:%5.1fC humi:%5.1f%% 
dewpoint:%5.1fC\n",temp_val.f,humi_val.f,dew_point);
        //uart0_send("temp:%5.1fC humi:%5.1f%% dew 
point:%5.1fC\n",temp_val.f,humi_val.f,dew_point);
        //uart0_send(temp_val.f);
        //uart0_send(humi_val.f);
        //uart0_send(dew_point);

Durch
  {
     char buffer[16]; // Uninitialisierter zwischen {} lokaler Puffer 
                      // muss für je ein Argument Platz bieten!

     uart0_send("temp:");
     sprintf(buffer, "%5.1fC", temp_val.f);
     uart0_send(buffer);

     uart0_send(" humi:");
     sprintf(buffer, "%5.1f%%", humi_val.f);
     uart0_send(buffer);

     uart0_send(" dewpoint:");
     sprintf(buffer, "%5.1fC", dew_point);
     uart0_send(buffer);

     uart0_send("\r\n");
  }

Autor: Michael T. (michelback)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

vielen Dank! ich werds gleich mal ausprobieren. C-Buch ist auf der 
Wunschliste ;)
Beste Grüße,
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.