Forum: Mikrocontroller und Digitale Elektronik serial port tty


von Hate M. (hate)


Angehängte Dateien:

Lesenswert?

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

von Pete K. (pete77)


Lesenswert?

Hardwarefehler? PF_Sens_2 kaputt?

: Bearbeitet durch User
von Hate M. (hate)


Lesenswert?

Habe mehrere Controller ausprobiert. Bei allen das gleiche Ergebnis.

Wäre für jede Hilfe dankbar.

von Pete K. (pete77)


Lesenswert?

Was macht Dein PF_Sens_2?

von Horst (Gast)


Lesenswert?

Hast Du auf ttyS2 eine Console laufen?

von Noch einer (Gast)


Lesenswert?

Hast du kontrolliert, ob dein embedded Linux die serielle Schnittstelle 
benutzt? Admin-Console oder Fehlermeldungen ausgeben oder ähnliches?

von Hate M. (hate)


Lesenswert?

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

von Pete K. (pete77)


Lesenswert?

Was macht Dein PF_Sens_2?
Quellcode?

von Hate M. (hate)


Angehängte Dateien:

Lesenswert?

sry hier die Configuration der Schnittstelle

von Pete K. (pete77)


Lesenswert?

Das ist nicht der code von PF_Sens_2:

fd_x = open_port_serial(4);

von Hate M. (hate)


Lesenswert?

:)
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
von Pete K. (pete77)


Lesenswert?

Port 2 kaputt?

von Mario M. (thelonging)


Lesenswert?

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?

von Pete K. (pete77)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

Hat dein embedded Linux Shell und Paketmanager? Minicom installieren und 
falls es damit klappt, mit stty schauen, was das minicom gemacht hat.

von konsole (Gast)


Lesenswert?

falsch gezählt? ttySx beginnt normalerweise bei ttyS0 und nicht bei 
ttyS1

von Hate M. (hate)


Lesenswert?

hat sich erledigt...

von S. R. (svenska)


Lesenswert?

Hate M. schrieb:
> hat sich erledigt...
Magst du die Lösung verraten?

von Hate M. (hate)


Lesenswert?

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
Noch kein Account? Hier anmelden.