Hallo, ich möchte mit einem Terminalprogramm ein File an meinen AVR senden. Wenn ich die Befehle von Hand sende, also in HTerm meine Kommandos als ASII eintippe und bei "Send on enter" "CR-LF" eingebe, funktioniert alles. Wenn ich allerdings z.B. schreibe "Befehl \r\n" wird er nicht akzeptiert. Ich habe schon verschiedene Schreibweisen getestet, aber irgendwie funktioniert es nicht. Was muss ich eingeben, um die Steuerzeichen von Hand zu senden, wie ich es bei einer Liste machne müsste? Danke
\r\n kann natürlich nicht funktionieren, das ist ist in C so und ein Terminalprogramm kann damit nicht anfangen. Es hilft nur ein Blick in die Hilfe deines Terminalprogramms. Bei Bray-Terminal z.B. wird das $-Zeichen benutzt, um Hexwerte zu senden: ATZ0$0d$0a
Wenn Du ein Terminalprogramm verwendest, musst Du Ctrl+M (CR, 0x0d) und Ctrl+J (LF, 0x0a) eingeben. Die Taste Ctrl wird oft auch mit Strg beschriftet.
hallo, kannst du einzelne zeichen senden? CR-LF wäre 0x0D 0x0A (hexadezimal) bzw 13 und 10 (dezimal) also beispielsweise:
1 | #define CR 0x0D |
2 | #define LF 0x0A |
3 | |
4 | //und irgendwann: |
5 | sendstring("meine ausgabe");
|
6 | sendchar(CR); |
7 | sendchar(LF); |
ich definiere mir gerne für solche zwecke ein makro, was dann einen gewünschte zeilenumbruch sendet:
1 | #define sendNewline sendchar(0x0D);sendchar(0x0A); |
2 | |
3 | sendstring("meine ausgabe");
|
4 | sendNewline |
Es geht aber um die andere Richtung, vom Terminalprogramm Zeichen an den MC senden.
Vielen Dank an alle :-) "Befehl 0x0D 0x0A" funktioniert. Die Buchstaben muss ich allerdings groß schreiben.
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.