Forum: Compiler & IDEs Datenübertragung Linux PC zu ATMega


von Ritchie_II (Gast)


Lesenswert?

Moin
Haben ein kleineres Problem mit der Seriellen Datenübertragung vom AVR
zum "Linux"-PC. Während das unter Windows (wie üblich) wunderbar
funktioniert, stellt sich Linux da (typischerweise) quer.

X-Versuche die Daten in den PC einzulesen führen egal welche
"Lösungen" wir aus Beispielen diverser "HowTos" errieten immer zum
Ergebnis: Die seltene Anzeige der Antwort lässt wenn sekundenlang auf
sich warten, und erscheint nur zufällig

Das ist ob mit "Interrupts", ganz ohne oder im "System"Buffer
gesammelt stehts gleich. Ich ordne das Problem verwendeten SuSEs zu;
andere besitzen wir nicht, und sind auch nicht bereit weiteres Geld zu
investieren. Denn das es unbedingt begeistert vermag hier keiner zu
behaupten.

Wird über ttyS0 "1234" gesendet legt der AVR den Schalter sofort um
und antwortet unverzüglich mit: "Gemacht" - was am WinPC sofort, am
Linuxterminal dann wie beschrieben erscheint.
Meine Frage ist nun: Hat jemand ein ganz einfaches "Terminal"programm
was mit dieser "Anwendung" in Linux getestet funktioniert ? - und das
wir mal (bis auf Baudrate und Dev unverändert) ausprobieren könnten um
herauszufinden ob damit die Verzögerung ebenfalls auftritt.
Gruss + Danke
Richard

von Joerg Wunsch (Gast)


Lesenswert?

Beschreib' doch erstmal Dein Problem richtig.  Sorry, ich hab's bis
jetzt noch nicht verstanden, was denn genau nicht funktioniert.  Habe
zwar kein Linux sondern FreeBSD, aber das dürfte aus Deinem
Blickwinkel egal sein...  Habe weder mit kermit noch mit cu bislang
Probleme gehabt (*).  Im Gegenteil habe ich aber gehört, daß viele
Windowser mit Hyperterminal nicht so recht zufrieden sind und zu was
anderem als diesem raten...

(*) Ausnahme: die Hardware des Toshiba Libretto 50ct, den ich für
meine AVR-Arbeit nehmen, hat eine Macke, so daß u. U. erst dann
Zeichen in die UART des Laptops ankommen, nachdem diese selbst eins
gesendet hat.  Aber das ist 'ne andere Baustelle.

von Ritchie_II (Gast)


Lesenswert?

Hallo Joerg
Das ist schon richtig: HipperTerminal ist auch nicht Stein des Weisen.
Wir versuchen ja auch immer die guten seiten an Linux zu sehen ....
wundern uns aber oft wie die (weniger programmierenden dafür aber
Cermedes und Cigarren liebenden) "SausenGurus" so durchs Ländle
preschen. Irgendwie sind 220Millionen (für umsonst ??) denn doch zuviel
wenn fast nix funktioniert. Linux ist nicht schlecht - doch ob SuSE
sich Linux nennen dürfte kann man mit N.C. belächeln.

Wenn nicht alles auf einmal käme hätten wir uns auch für FreeBSD
entschieden - doch ist nicht alles mal eben so ...

Die Baudrate blieb 9600, die anderen "Parameter" der Schnittstelle
(termios.h in C ) probierten wir in allen uns bekannt möglichen
Variationen auf verschiedenen PCs durch - da ändert sich nichts. Der
Sender (also vom PC zum AVR) geht meistens - der Empfang klemmt. Die
Permissions der /dev/ttyS0 scheinen (wie vorgegeben) zu stimmen; obwohl
die nur bei root rw zulassen. Per HowTo besagtes chmod +rw versagt.
Nach nächstem Öffnen ist alles wieder auf alt verdreht. Wäre das ein
Fehler, würde ja nie was ankommen - aber manchmal kommt ja was.

Das Echo spielt sicherlich "falsch". Obwohl (richtig) "ausgeechoet"
(~ (ECHOE | ETC.)) landet /verbleibt die Sendung im Puffer; auch
Buf[5]={0,0,0,0}, xxflushen() oder drainen() ändert da nichts - ein
Punkt der eine Rolle spielen könnte.

Die Frage ist: Wo können diese 3 - 6Sekunden (zwischen senden und
Empfang) überhaupt herkommen ? Reine Wartezeit ist das nicht, denn 10
Sec. lang den Atmel Spruch als Schleife gesendet kommt auch nicht an.
Setserial gibt da irgendwie 3000 preis ??? Und ob 400 oder 2000MHZ das
Zeitverhalten bleibt const.

Dieses trat sofort mit den org. Examples der HowTos auf - und egal wie
verändert bliebs bisher resistent.
Das ist alles - wodrans liegen kann wissen wir nicht. Wir probieren da
übrigens schon seit 14 Tagen - so schnell gibt man ja nicht auf ... Ein
Kollege aus der Nachbarschaft hängt da auch fest - allerdings bei
anderer Architektur, das scheint nicht ganz einmalig zu sein, zumal
auch alle HT's aufs probieren verweisen ....

Gruss
Richard

von Dominic Thomé (Gast)


Lesenswert?

Also wenn ihc erhlich bin versteh ich auch nach Deinem zweiten Posting
noch nicht genau was Du willst.
Was willst Du den überhaupt machen ?

Dominic

von Joerg Wunsch (Gast)


Lesenswert?

Tja, lieber Herr namelos unbekannt, vielleicht solltest Du statt der
HowTos und Trial&Error mal ein bißchen Unterricht in termios und
serieller Schnittstellen unter Unix überhaupt nehmen.

Unixe mögen DCD, oder aber Du nimmst die callout units (/dev/cua*).

Ansonsten geht's mir wie Dominic: auch nach Deinem zweiten Posting
kann ich zwar viel Polemik und Gemecker entdecken, aber keine
vernünftige Fehlerbeschreibung oder -einkreisung.

Denk immer dran, oft genug sitzt der Fehler vor der Tastatur.

Ansonsten: geh' mal lieber in eine Unix-Newsgruppe fragen, Du hast
nämlich überhaupt kein Problem mit einem Controller, sondern nur eins
mit der seriellen Kommunikation unter Unix.

von Ritchie_III (Gast)


Lesenswert?

Hallo
>> das serielle Problem mit UNIX
ist ja richtig; sofern ich mich aber erinnere hatte ich dieses auch
geschrieben und deswegen "nach einer funktionierenden
Beispielanwendung" die den Controller erreicht und mit dem
"quasselt" gefragt.

Das termios.h Thema, und gegenseitig auf sich verweisende HowTos,
braucht nicht noch mal aufgerollt zu werden. Wir können uns durchaus
Besseres leisten, und wenn man dann eben mal zu blöd ist dass was
"ganz umsonst" ist zu verstehen, sollte man's auch einsehen ....

Und was wir lesen wird auch unsere Entscheidung bleiben, zumal wir
keinen Gedanken mehr an den tieferen Sinn des "GNU - is not Unix"
verschwenden werden.

von Joerg Wunsch (Gast)


Lesenswert?

Beispielanwendungen, die serielle Kommunikation machen, gibt's wohl
genug.  UTSL.

von ---- (Gast)


Lesenswert?

Tja Jörg,
dein Support war wohl zu mies für den feinen Hr.Ritchie. In Zukunft
wird er sich was besseres leisten. Also zieh dich warm an.
Außerdem hat er doch (lt. seiner letzten Aussage) schon gesagt, daß das
Thema hier nicht reinpasst...

---- (QuadDash).

von Joerg Wunsch (Gast)


Lesenswert?

Nein, er wollte gar keine Hilfe haben, sondern nur meckern.

von Dominic Thomé (Gast)


Lesenswert?

Aber das konnte er gut ;-)

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.