Forum: Mikrocontroller und Digitale Elektronik UART, AVR und Linux


von Markus Müller (Gast)


Lesenswert?

Hi,
Mein Problem gehört vielleicht nicht 100%ig hierher aber vielleicht
kann mir ja doch jemand helfen. Ich möchte Daten vom AVR zum PC
schicken. Mit Windows und Hypertermianl funktioniert das auch ganz gut.
Nun sollte es allerdings auch mit Linux gehen. Dummerweise kommt
überhauptnichts an (kein einziges Byte, nichtmal Datenmüll). Vielleicht
weiss jemand was man Einstellen muss, damit es geht. Ich vermute, dass
es mit der Flusskontrolle zusammenhängt.

von Thomas Burkhardt (Gast)


Lesenswert?

Hi,

ja es geht auch mit Linux g
Schreib', was du für ein Terminalprogramm verwendest. Da du
wahrscheinlich am AVR keine Handshakeleitungen verwendest muss jede Art
von Flusskontrolle abgeschaltet werden. Sollte aber jedes
Terminalprogramm beherrschen.

Grüße

von Markus Müller (Gast)


Lesenswert?

Am Anfang habe ich einfach nur cat /dev/ttyS0 gemacht, als da nix kam
hab mal minicom versucht...
Ich hab auch unter /proc/tty/driver/serial nachgeschaut ob was
angekommen ist, da tut sich aber nix.

Ist mir eigentlich egal welches Terminalprogramm ;). Ich mach mir dann
am besten des drauf was funktioniert. Welches benutzt du, und mit
welchen Einstellungen?

Und ja hab keine Handshakeleitungen. Hab auch mit stty versucht die
Flusskontrolle abzuschalten, aber des ging nich wirklich.

Am besten wäre wenn du mir einfach sagen könntest wies bei dir geht ;)

Markus

von Uwe (Gast)


Lesenswert?

Hi!
Wenn du die Flusskontrolle nicht abschalten kannst dann brücke doch
einfach RTS/CTS.

MFG Uwe

von Stefan May (Gast)


Lesenswert?

Hi,

Ich benutze unter Linux Minicom. Das funktioniert zuverlässig mit
diesen Einstellungen:

---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
pr port             /dev/ttyS0
pu baudrate         9600
pu minit
pu mreset
pu mdialpre
pu mdialsuf
pu mdialpre2
pu mdialsuf2
pu mdialpre3
pu mdialsuf3
pu mhangup
pu mdialcan
pu hasdcd           No
pu rtscts           No
---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

Das ganze schreibst Du in die Datei ~/.minirc.dfl und rufst dann nur
noch Minicom auf. Daß du Schreibzugriff auf /dev/ttyS0 brauchst, muß
ich nicht erwähnen.

Ein cat /dev/ttyS0 hgilft Dir übrigens gar nicht. Du mußt schon ein
Terminal-Programm verwenden. Wenn das nichts bringt, dann schicke bitte
mal ein dmesg, dann kann man ja weiter sehen.

mfg, Stefan.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Warum soll cat nichts helfen? Wenn man nur Daten empfangen will, dann
hilft das sogar sehr viel.

von Stefan May (Gast)


Lesenswert?

Du kannst natürlich cat benutzen. Allerdings müssen vorher schon alle
Parameter mit stty gesetzt werden. Das ist allerdings nicht ganz
trivial.

Ich persönlich finde das Terminal-Programm an dieser Stelle
vielseitiger, weil es auch ein Senden ermöglicht und die Einstellungen
übersichtlicher ausfallen.

mfg, Stefan.

von Markus Müller (Gast)


Angehängte Dateien:

Lesenswert?

Leider immernoch kein Erfolg. Ich hab mal wie gewünscht ein dmesg
angehängt.

Vielleicht ist ja noch irgendwas am Kernel zu machen? Wobei der generic
serial support ja reicehn sollte.

von Stefan May (Gast)


Lesenswert?

ttyS01 at port 0x02f8 (irq = 3) is a 16550A

Das finde ich komisch. Wo ist denn ttyS00 geblieben? Hast Du den im
BIOS vielleicht deaktiviert?

mfg, Stefan.

von Markus Müller (Gast)


Lesenswert?

Genau das gleiche hab ich mir auch gedacht!
Ziemlich komisch die Sache. Leider handelt es sich um ein (älteres)IBM
Notebook, und das hat ein spezielles IBM Bios... da hab ich nichts über
die serielle Schnittstelle finden können. Ich werd vielleicht mal
irgendsoein DOS diagnose dingens nehmen und schaun ob das das gleiche
ausgibt.

von Markus Müller (Gast)


Lesenswert?

Hab grad mal ein bissel gegoogelt.. scheint so als ob man ein extra
programm bräuchte.. könnte sein, dass /dev/ttyS1 die
Infrarotschnittstelle ist, und der serial Port deaktiviert wurde. Mal
sehn was sich da machen läßt...

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.