Hallo zusammen, ich bin an einer Stelle wo ich nicht mehr weiter weiß. Ich benutze den AT89C51ED2 und habe mit C ein kleines Programm geschrieben Mit dem Programm kann ich Daten erfassen die dann auf einem kleinen LCD Display auf dem Board angezeigt werden. Nun möchte ich die Daten über eine RS232 Schnittstelle auf meinen PC senden. Ich habe die Daten auf dem uc in einen String umgewandelt (sprintf). Hab mich auch über UART informiert, das ich darüber die Daten senden muss, und sie dann über ein Terminal Programm empfangen kann. Aber wie mach ich das? Kann mir jemand bitte helfen? Danke im Voraus
Hallo Björn, wenn du den Text schon als String vorliegen hast, dann kannst du doch einfach ein Zeichen nach dem anderen über die serielle Schnittstelle übertragen. Das sollte so Funktionieren:
1 | char *pointer=var_mystring; |
2 | |
3 | for(;pointer;pointer++) |
4 | { |
5 | send_char(*pointer); |
6 | } |
Gruß, SIGINT
Hallo Sigint, danke für deine Antwort ;-) Ich bin leider nicht der Profi darin. Könntest du mir vielleicht einen Tipp geben wo ich die Zeilen einfügen soll? Hier ist mein kleines Programm. P.S. Ich habe einen kompletten Text auf dem LCD Display, wird der dann im ganzen übertragen? Gruß,Björn const float LSB = 0.01953; // 5V / 256 Schritte = 0.01953 void main (void) { unsigned char AIn0Wert; //AD0-Wert als 8-Bit-Variable unsigned char buf [16]; //für LCD-Anzeig float UIn0Wert; //für Skalierung des AD0-Werts auf 0 bis 5V initlcd (); //LCD-Display initialisieren testlcd (); //LCD-Display testen und löschen while (1) { AIn0Wert = ain (0);//Analogwert von Poti an Kanal 0 einlesen LEDPort = AIn0Wert;//an LEDs an P2 ausgeben aout (AIn0Wert);//und an den Analogausgang UIn0Wert = AIn0Wert * LSB;//Skalierung auf 0 bis 5V sprintf (buf,"AD0 = %1.3f Volt",UIn0Wert); // Floatvariable formatieren, als 4-stellige Kommazahl in String verwandeln, in buf kopieren // %Ausgabeformat folgt, 1 Vor- 3 Nachkommastellen, f Floatvariable, auszugebende Variable printlcd (buf,1); } // Ende Endlosschleife mit while }
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.