mikrocontroller.net

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


Autor: Ritchie_II (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ritchie_II (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ritchie_III (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispielanwendungen, die serielle Kommunikation machen, gibt's wohl
genug.  UTSL.

Autor: ---- (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, er wollte gar keine Hilfe haben, sondern nur meckern.

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber das konnte er gut ;-)

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.