PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : µC über RS232 an Linux PC



toetzel
03.01.2009, 15:35
Hallo,
ich versuche seit geraumer zeit mein RN Control über RS232 an meinen Suse Linuc PC anzuschließen - leider ohne Erfolg.

Ich habe das RS232 Adapterkabel bei Robotik HW gekauft hatte noch ein USP to 232 9 Pin Adapter liegen, beide habe ich zusammengebaut und an den Controller bzw PC gesteckt. Auf dem PC läuft Suse Linux Kernel 2.6.x als Terminal habe ich minicom Installiert. Das Kabel wird auch USB mäßig erkannt, leider sehe ich über minicom nicht das geringste ( bzw. immer das gleiche egal ob das Kabel am µC angeschlossen ist oder nicht ) sprich ich komme da erst gar nicht hin.

Leider habe ich auch kein Thema / Tutorial bzw. Anleitung gefunden die auf dieses Problem mir eine Antwort liefern.

Minicom ist finde ich nicht wirklich tauglich da ich immer den Pfad desModems einstellen muss ( der ändert sich doch aber je nach der USB Buchse bzw. je nach versuch legt Suse eine neues Subfile an ) gibt es dort etwas "netteres" wo nicht so viel manueller aufwand entsteht? Am besten mit GUI? Alle Tools die ich gefunden haben waren Konsolenbasiert.

Kann es an meiner "gemischten Verkabelung liegen" ist es erfoderlich Produkte wie https://iftools.com/usb232conv/index.de.php#
zu kaufen damit es funktioniert ( was haltet ihr von diesen Adapter -ganz schön Teuer finde ich )

Danke und Gruß
Tötzel

Superhirn
03.01.2009, 18:26
Hallo!

Ich empfehle dir cutecom.
den pfad der seriellen schnittstelle wirst du immer einstellen müssen. das ist meistens /dev/ttyUSB0.
Und das bleibt auch. außer du steckst das usb kabel ab ohne davor dein terminalprogramm zu beenden / den port zu schließen.

du kannst ja mal am terminal probieren:
"ls /dev/ttyUSB0" damit du weist ob er überhaupt erkannt wurde.

grüße
Thomas

toetzel
04.01.2009, 17:23
Hallo Thomas,
danke für Deine Info, das mit dem USB Port ist schon mal hilfreich.

Bin nun soweit das ich die Fuses soweit richtig gesetzt habe, ein Programm in den µC hochgeladen habe mich da bei http://www.kreatives-chaos.com/artikel/ansteuerung-uart-avr-gcc bedient , hier habe ich das Programm "Strings aus dem Flashspeicher ausgeben" benutzt. Lässt sich auch laden, bekomme auch input heraus leider ist der total verstümmelt ( teste nun mit hterm von http://www.der-hammer.info/terminal/ ).

Das Gute ist das ich nun die Verkabelung als ok ansehen kann es wird nun an den Einstellungen des Terminal bzw des AVR liegen. Werde mir das von Dir empfohlende Programm einmal ansehen, etl funz das ja :-k

Das ist noch ein weiter Weg ....

Danke und Gruß
Tötzel

Superhirn
04.01.2009, 18:59
Hallo

cutecom empfehle ich nicht weil es mit anderen nicht geht sondern weil es hier einfach einfach ist änderungen an der configuration von baudrate, stopbits, party, etc zu machen :)

du solltest, wenn du den original kreatives-chaos code nimmst hier 19200 baudrate, 8 datenbit, und 1 stopbit, kein parity einstellen.

grüße
Thomas

toetzel
04.01.2009, 20:02
Hallo,
danke für die Info mit der Baudrate, bin eben was das angeht echt grün hinter den Ohren.

Du hast recht bzgl. cutecom ist echt einfach da ist hterm wesendlich unübersichtlicher.

Habe cutecom getestet und ich bekomme genau das gleiche Ergebnis wie unter hterm, was ungefähr so aussieht:

m\0x82\0xe8\0x18nm]\0xa0\0x18J\0xa0\0x0bn\0xc3\0x18n\0xc3\0xe8m\0x18n \0xc3\0xe8m8n\0xc3\0xe8m\0x18nm8\0xc3\0xe8\0xe8\0x e8mn\0xc3\0xe88n\0xe8m\0x18n\0xc3m\0x18n\0xe8mn\0x 82m\0x18\0xc3\0xe8\0x18\0x0b\0x18\0xc3\0xe8\0x18n

das ist ja schon mal was. Ich habe die Einstellungen in beiden Progrmmen getstet bekomme aber nur die Daten so und nicht in Klartext angezeigt.
hex sieht das den so aus:
00000b40: e8 6d 38 6e 6d 18 c3 c8 6d 18 6e 82 6d 82 e8 18
00000b50: e8 4a 5d 18 e8 6d 18 6e 6d 18 e8 6d 6e 6d 18 6e

was mus ich denn machen um das im Klartext zu sehen?

oder muss das nun "manuell" übersetzt werden? Sprich C etc? und das ist das Ergbnis 8-[

Habe ich evtlnoch irgenetwas bei den Fuses nicht richtig gemacht? Oder kann ich das nun abhaken?

Danke und Gruß
Tötzel

Superhirn
04.01.2009, 20:34
Hast du evt "hex output" angehakt?
sonst kann es nur an einem kommunikationsfehler liegen, dass eigendlich keine richtigen ascii zeichen übertragen werden. ich hab mit einem hex to ascii converter aus dem internet nachgeprüft. es ist auf jeden fall kein "hello world" sondern irgendwelche sonderzeichen.
probier doch mal mehrere einstellungen im cutecom durch.

auf welcher frequenz läuft dein uC?
hast du F_CPU richtig gesetzt?

Grüße
Thomas

toetzel
05.01.2009, 20:32
es waren 2 Dinge einmal war #define F_CPU nicht auf 16000000UL
und mir ist aufgefallen wenn der µC ein weile läuft schreibt er mist raus, sprich man mus den Reset einmal drücken denn kommt das raus was ich erwarte, wir irgendwo noch ein Variablen überlauf sein denk ich mir mal.

Danke jezt kann ich ja mal weiter Testen und mich in C austoben. \:D/

Danke und Grüße

Totzel