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
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.
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
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
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.
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.
Beispielanwendungen, die serielle Kommunikation machen, gibt's wohl genug. UTSL.
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).
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.