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
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.
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
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
1 | {
|
2 | char buffer[16]; // Uninitialisierter zwischen {} lokaler Puffer |
3 | // muss für je ein Argument Platz bieten!
|
4 | |
5 | uart0_send("temp:"); |
6 | sprintf(buffer, "%5.1fC", temp_val.f); |
7 | uart0_send(buffer); |
8 | |
9 | uart0_send(" humi:"); |
10 | sprintf(buffer, "%5.1f%%", humi_val.f); |
11 | uart0_send(buffer); |
12 | |
13 | uart0_send(" dewpoint:"); |
14 | sprintf(buffer, "%5.1fC", dew_point); |
15 | uart0_send(buffer); |
16 | |
17 | uart0_send("\r\n"); |
18 | }
|
Hallo Stefan, vielen Dank! ich werds gleich mal ausprobieren. C-Buch ist auf der Wunschliste ;) Beste Grüße, Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.