mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik serial port tty


Autor: Hate Mate (hate)
Datum:
Angehängte Dateien:

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

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hardwarefehler? PF_Sens_2 kaputt?

: Bearbeitet durch User
Autor: Hate Mate (hate)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mehrere Controller ausprobiert. Bei allen das gleiche Ergebnis.

Wäre für jede Hilfe dankbar.

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was macht Dein PF_Sens_2?

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du auf ttyS2 eine Console laufen?

Autor: Noch einer (Gast)
Datum:

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

Autor: Hate Mate (hate)
Datum:

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

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was macht Dein PF_Sens_2?
Quellcode?

Autor: Hate Mate (hate)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sry hier die Configuration der Schnittstelle

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist nicht der code von PF_Sens_2:

fd_x = open_port_serial(4);

Autor: Hate Mate (hate)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Port 2 kaputt?

Autor: Mario M. (thelonging)
Datum:

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

Autor: Pete K. (pete77)
Datum:

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

Autor: Noch einer (Gast)
Datum:

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

Autor: konsole (Gast)
Datum:

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

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.