mikrocontroller.net

Forum: PC-Programmierung serielle Schnittstelle in bash / Linux stty


Autor: qwerty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will über ein bash script einen Befehl an einen microcontroller 
übertragen.

Wie geht das denn mit stty? werde da nicht schlau draus.

z.b wenn ich hallo übertragen will

stty -F /dev/ttyS0 ispeed 9600 ospeed 9600 -echo hallo

ist das korrekt so ??

Und wie kann ich was lesen wenn der controller antwortet?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir gehts so (Ich verwende einen USB-Seriell-Wandler, deshalb 
ttyUSB0)

1.Konfiguration:
stty 9600 -crtscts -echo -ixoff -F /dev/ttyUSB0
Wichtig war glaube ich das crtscts: Damit wird das hardware handshaking 
deaktiviert.

2.Senden:
echo -n 1  >>/dev/ttyUSB0 (sendet 1 ohne linefeed)

Autor: Juergen Roeck (stumpjumper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder so,
1. in eine Textdatei den gewünschten Text schreiben.
2. cat [Datei mit Text] > /dev/ttyUSB0 bzw. bei einer "echten" seriellen 
Schnittstelle ttyS0.

stty dient zum parametrieren der Schnittstelle also zum einstellen der 
Übertragungsgeschwindigkeit und ob ein Paritätsbit etc. gesendet wird.

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und man sollte Mitglied der dialout Gruppe sein.

$ ls -l /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 0 21. Mär 09:33 /dev/ttyUSB0
$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 21. Mär 09:33 /dev/ttyS0

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Norbert schrieb:
> und man sollte Mitglied der dialout Gruppe sein.

Manchmal heißt diese Gruppe auch uucp

Autor: Tom M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende screen(1), sitze aber gerade nicht an diesem Rechner. Wenn 
ich mich richtig erinnere, sieht der Aufruf in etwa so aus:
screen /dev/ttyUSB12345 115200

Damit ist bi-direktionale Kommunikation kein Problem. Mit stty & co 
musste ich so noch nie rumfummeln.

Autor: Sven W. (Firma: basement industries) (dj8nw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
# stty --help

könnte zur Erklärung hilfreich sein?!

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessant, kenn' ich eigentlich nur von UNIX.
Allerdings, group uucp habe ich hier in Lenny auch.

Aber keine Devices mit group uucp,
  cd /dev
  grep "uucp" MAKEDEV
  find . -ls|grep "uucp"
sowie
  grep -R "uucp" * in /etc
haben auch keine sinnvollen Treffer gelandet.

Bei welcher Linux Distribution werden Devices mit uucp group angelegt?

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Norbert schrieb:
> Bei welcher Linux Distribution werden Devices mit uucp group angelegt?
Dies ist bei Arch Linux der Fall
$ ls -lah /dev/ | grep uucp
crw-rw----   1 root uucp        4,  64 21. Mär 16:16 ttyS0
crw-rw----   1 root uucp        4,  65 21. Mär 16:16 ttyS1
crw-rw----   1 root uucp        4,  66 21. Mär 16:16 ttyS2
crw-rw----   1 root uucp        4,  67 21. Mär 16:16 ttyS3

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Evtl willst Du auch die "raw" Option.

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.