Guten Tag, verwende 2 serial port auf einem embedded Linux. ttyS2 ttyS3 Um die Ports zu testen sende ich mir selber (RX /TX) verbunden. Serial Port 3 funktioniert einwandfrei 2 NICHT. .......... root@buildroot prem]# ./PF_Sens_2 open port 2 Write byte to serial Write byte to serial Write byte to serial ^C root@buildroot prem]# Port 3: root@buildroot prem]# ./PF_Sens_3 open port 3 Write byte to serial 0xde0x10x50x590x83 Write byte to serial 0xde0x10x50x590x83 Write byte to serial 0xde0x10x50x590x83 Ich kann nicht nachvollziehen woran das liegen kann im Anhang die serial ports configs
Habe mehrere Controller ausprobiert. Bei allen das gleiche Ergebnis. Wäre für jede Hilfe dankbar.
Hast du kontrolliert, ob dein embedded Linux die serielle Schnittstelle benutzt? Admin-Console oder Fehlermeldungen ausgeben oder ähnliches?
Hallo, Console läuft auf ttyS1 # dmesg | grep tty [ 0.000000] Kernel command line: console=ttyS1,115200 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait [ 1.370000] f001c000.serial: ttyS1 at MMIO 0xf001c000 (irq = 29, base_baud = 8250000) is a ATMEL_SERIAL [ 1.770000] console [ttyS1] enabled [ 1.770000] f0020000.serial: ttyS2 at MMIO 0xf0020000 (irq = 30, base_baud = 4125000) is a ATMEL_SERIAL [ 1.780000] f8020000.serial: ttyS3 at MMIO 0xf8020000 (irq = 31, base_baud = 4125000) is a ATMEL_SERIAL # ls autofs network_throughput tty15 tty29 tty42 tty56 ubi_ctrl bus null tty16 tty3 tty43 tty57 urandom console ptmx tty17 tty30 tty44 tty58 vcs cpu_dma_latency pts tty18 tty31 tty45 tty59 vcs1 full random tty19 tty32 tty46 tty6 vcsa hwrng rtc0 tty2 tty33 tty47 tty60 vcsa1 kmsg shm tty20 tty34 tty48 tty61 watchdog log tty tty21 tty35 tty49 tty62 watchdog0 memory_bandwidth tty0 tty22 tty36 tty5 tty63 zero mmcblk0 tty1 tty23 tty37 tty50 tty7 mmcblk0p1 tty10 tty24 tty38 tty51 tty8 mmcblk0p2 tty11 tty25 tty39 tty52 tty9 mtd0 tty12 tty26 tty4 tty53 ttyS1 mtd0ro tty13 tty27 tty40 tty54 ttyS2 network_latency tty14 tty28 tty41 tty55 ttyS3
:) Der Code ist der gleiche nur das ein anderer Port verwendet wird. also port 3 und 2 3 funktioniert und 2 nicht
:
Bearbeitet durch User
sleep(0.05); WTF? Ansonsten ist read doch blockierend, oder? Dann müsste das Programm auf Daten warten und nicht mit einer Leerzeile weiter machen?
Ich sehe hier zwei mögliche Fehlerquellen: Software oder Hardware. Da Du uns die Software teilweise gezieigt hast und sie wohl an Port3 funktioniert, bleibt noch die Hardware als Fehlerquelle. Bitte mehr Informationen.
Hat dein embedded Linux Shell und Paketmanager? Minicom installieren und falls es damit klappt, mit stty schauen, was das minicom gemacht hat.
Hallo, da das Image mit Kernel,DTS,usw eigenständig erstellt wird lag der Fehler wohl in der Konfiguration. Das Image wird über buildroot erstellt. Wollte eigentlich den ftdi Treiber (usb-rs486)auf die Plattform laden. Und irgendwie haben danach alle serial Ports funktioniert Mfg
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.