Forum: Mikrocontroller und Digitale Elektronik Linux: serial port ttyS0 lesen


von Christelle T. (tchris)


Lesenswert?

Hallo,
Ich bin noch relativ neue in Linux! Ich habe ein Atmega8515 und habe
das Senden eines Strings über Usart unter windows schon programmiert.
Nun habe ich mein Bord auf meinem Linux Rechner verbunden und möchte
der String wieder lesen. der Befehl " cat /dev/ttyS0 " gibt mir der
String wieder sowie der Befehl: "read Line</dev/ttyS0 echo $Line".
Ich habe auch ein kleiner shell Script geschrieben, der das tut:
# ! /bin/sh
while true
  do
    read Line </dev/ttyS0
    echo $Line
  done

Meine Frage ist: wie kann ich ein C programm schreiben, das das gleiche
tut wie dieser Script?
Danke im Voraus

von Christian G. (Gast)


Lesenswert?

Moin,

hier steht ganz genau drin, wie du so ein C Programm schreiben kannst.

http://www.tldp.org/HOWTO/Serial-Programming-HOWTO/index.html

Gruß,

Christian.

von Thomas (Gast)


Lesenswert?

Hoi

Noch zwei Hinweise zu deinem Shellscript. Das sha&#8722;bang und der
folgende Pfad sind ohne Leerzeichen zu schreiben.Es ist außerdem zu
empfehlen, die verwendete Shell explizit hinzuschreiben und nicht
/bin/sh zu verwenden, da dies ein Link auf die Standardshell eines
Systems ist, sich aber auf anderen Systemen unterscheiden kann. Damit
kann es dazu kommen, dass sich das Scriopt nicht richtig verhält.
Schreibt man dort die tatsächlich beabsichtigte Shell rein, dann wird
die - so vorhanden - zur Ausführung des Scripts gestartet und es
funktioniert alles richtig.

von Rolf Magnus (Gast)


Lesenswert?

> Das sha&#8722;bang

Ich grüble und grüble, aber komme nicht drauf, was das ursprünglich
hätte heißen sollen.

von Thomas (Gast)


Lesenswert?

Sha-bang (#!), frag mich nicht, woher der Quatsch dazwischen kam.

von Rolf Magnus (Gast)


Lesenswert?

Ahso. Ich wußte nicht, daß das so heißt (bzw. überhaupt einen Namen
hat).

von Thomas (Gast)


Lesenswert?

Das macht nichts, mir entfällt auch ständig, wie es nun hieß ;-) Wichtig
ist nur, dass es zusammengeschrieben steht, weil es ja eine magische
zwei Byte Zahl ist.

von Christian G. (Gast)


Lesenswert?

Mal schnell bei Wikipedia geklaut:

Shebang ist ursprünglich ein im 19. Jahrhundert entstandenes englisches
Slang-Wort, das vor allem in der Zusammensetzung "the whole shebang"
gebräuchlich ist und soviel wie "Sache, Angelegenheit" bedeutet. Im
Unix-Kontext wird es als Verkürzung von sharp bang oder hash bang
gedeutet, was sich auf die zwei Anfangszeichen bezieht. Im Unix-Jargon
wird das Ausrufezeichen als bang und das Rautenzeichen als hash oder
auch sharp bezeichnet.

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
Noch kein Account? Hier anmelden.