Hallo, ich versuche verzweifelt, über die serielle Schnittstelle Daten von einem LPC2378STK Board (Olimex) zu empfangen. Das ganze klappt unter Windows mit hyperterm am gleichen Rechner einwandfrei. Habs unter Linux schon mit minicom, cat und hterm versucht immer das Gleiche. kommen sollte : Uart initialized. wait for link...linked. Statt dessen kommt z.B tializedfor link oder auch mal andere Teile. hyperterminal läuft mit 9600 Bd, 8N1, kein Flow Control Auch in minicom sind hard- und software flow control aus. Aber ich vermute, es hat damit was zu tun? Die anderen Parameter in Minicom sind Gleich (9600, 8N1), aber daran sollte es ja kaum liegen, ich empfang ja einige Buchstaben korrekt. Hier mal noch die Ausgabe von "stty -aF /dev/ttyS0": speed 9600 baud; rows 0; columns 0; line = 0; intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>; susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>; flush = <undef>; min = 1; time = 5; -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke vielleicht könnt ihr mir ja helfen? Viele Dank Markus
CR/LF-Problem? Ctrl-A, A : Toggle 'Add Linefeed' on/off. If it is on, a linefeed is added before every carriage return displayed on the screen.
Hi, danke für die schnelle Antwort. CR/LF hab ich mir auch schon überlegt, aber ich kann das glaube ich durch hterm ziemlich ausschließen. Dort wird mir jedes byte einzeln auch als hex usw. angezeigt. Und da kommt genau das gleiche. Oder gibts irgendwo, tief in den ttySx Einstellungen auch nochmal sowas wie CR/LF? Also irgendwie vermute ich ja was mit Flow-Control da einfach ein paar Zeichen am Stück unterschlagen werden. Vielleicht noch jemand eine Idee wo ich nachschauen könnte? Danke Markus
Was sagt denn "setserial -ga /dev/ttyS0"? Eventuell hat Linux den UART falsch erkannt, und benutzt deshalb den FIFO nicht. In diesem Fall kann es helfen, den FIFO-Typ mit setserial manuell zu setzen: "setserial /dev/ttyS0 uart 16550A". 16550A sollte bei den meisten Rechnern aus diesem Jahrtausend funktionieren, ansonsten mal noch andere UART-Typen ausprobieren (siehe setserial-Manpage). Andreas
setserial -ga /dev/ttyS0 /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test auch während minicom läuft. Bin aber sehr sicher, da gestern abend auch die 9600 gesehen zu haben. Was mich erstanunt ist, dass hwinfo 2 Serial controller findet, auf ttyS0 und ttyS2. Und wenn ich auf ttyS2 mit minicom höre bekomme ich auch Daten, allerding nur "?". Die Daten stammen auch irgendwie vom Board, kommen nämlich nur wenn ich es anschalte. Hier mal die 2 controller in hwinfo: 48: None 00.0: 0700 Serial controller (16550) [Created at serial.74] UDI: /org/freedesktop/Hal/devices/pnp_PNP0501_serial_platform_0 Unique ID: S_Uw.3fyvFV+mbWD Hardware Class: unknown Model: "16550A" Device: "16550A" Device File: /dev/ttyS0 I/O Ports: 0x3f8-0x3ff (rw) IRQ: 4 (509 events) Config Status: cfg=new, avail=yes, need=no, active=unknown 49: None 00.2: 0700 Serial controller (16550) [Created at serial.74] UDI: /org/freedesktop/Hal/devices/platform_serial8250_serial_platform_2 Unique ID: ML+2.3fyvFV+mbWD Hardware Class: unknown Model: "16550A" Device: "16550A" Device File: /dev/ttyS2 I/O Ports: 0x3e8-0x3ef (rw) IRQ: 4 (509 events) Config Status: cfg=new, avail=yes, need=no, active=unknown Ein weiteres Phänomen fällt mir gerade ein: Vor ein paar Wochen hab ich schon mal wild Daten über RS232 an den Laptop geschickt. Nach ein paar Sekunden ist dieser dann immer heruntergefahren. Werd mal im Bios schauen was da eingestellt ist. Habt ihr sonst noch eine Idee? Vielen Dank und viele Grüße Markus
Hi Markus, minicom & hterm zeigen den gleichen Fehler? Dann liegt's eher nicht an der Software. Ich benutze unter Linux gerne jpnevulator (http://jpnevulator.snarl.nl/) kannst ja auch mal damit ausprobieren. Ansonsten könntest Du mal einen USB->RS232 Adapter ausprobieren, um herauszufinden ob deine serielle Schnittstelle einen Macken hat. Was für eine Linux Distribution nutzt Du denn? - Markus
Ich glaub ich bin dem Fehler jetzt auf der Spur: Die beiden Seriellen Controller (ttyS2 müsste IR sein) nutzen beide IRQ4. In Windows ist aber der IR-Port auf IRQ3. wenn ich das jedoch mit setserial umstelle ändert sich nichts, hwinfo zeigt auch immer noch beide mit IRQ4 an. Weiß jemand vielleicht auswendig, wo ich das dauerhaft einstellen kann? Danke Grüße Markus
Jetzt stimmen die IRQs, aber geändert hat sich nichts :-(
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.