- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Serielle Schnittstelle - Input Echo

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Anzeige

    Praxistest und DIY Projekte
    Der Quellcode ist ein Auszug aus meinen anderen Projekten, wo der Raspbi mit AVRs kommuniziert.

    Witzigerweise läuft Dein oben angegebener Befehl (stty -F ttyAMA0 -a) bei meinen beiden Raspbis gar nicht.

    Der erste sagt:
    Code:
    stty: ttyAMA0: Inappropriate ioctl for device
    Der zweite sagt:
    Code:
    stty: ttyAMA0: No such file or directory
    Beide "Systeme" arbeiten aber einwandfrei. Evtl. hast Du noch andere Pakete installiert?

    Die Ausgabe von
    Code:
    stty -F /dev/ttyAMA0 -a
    Auf dem ersten:
    Code:
    root@raspberrypi ~ > stty -F /dev/ttyAMA0 -a
    speed 19200 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 = 0;
    -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
    und auf dem zweiten, welcher von Grund auf neu eingerichtet wurde:
    Code:
    speed 19200 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 = 0;
    -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
    Edit:
    Also bis auf die Geschwindigkeit, Zeilen und Spalten identisch.


    Edit:
    Hast du vielleicht einen Kurschluß oder niederohmige Verbindung zwischen TX und RX?

    - - - Aktualisiert - - -

    Wie ist die Hardware aufgebaut? Die Pegel sind angepasst? Feine Brücken zwischen TX und RX ausgeschlossen? Auch nicht durch zu niedrigohmige Widerstände miteinander verbunden?
    Anbei der von mir genutzte Pegelwandler.

    Klicke auf die Grafik für eine größere Ansicht

Name:	PiPegelwandler.png
Hits:	15
Größe:	4,1 KB
ID:	24932
    Geändert von peterfido (24.03.2013 um 18:42 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    Vielen Dank!

    Unser momentan verwendeter Pegelwandler besteht nur aus einem Spannungsteiler:

    Code:
                   ___         ___
       TXD AVR ---|___|---o---|___|----o 
                   1K     |    2K      |
                          |            |
                          |            |
                       RXD PI         GND
    
       RXD AVR ------------------- TXD PI
    
       GND AVR ------------------- GND PI
    Vorher hatten wir den "XBee Explorer Regulated" missbraucht (https://www.sparkfun.com/products/9132).
    Das Verhalten ist in beiden Fällen dasselbe.

    Gruss
    M.

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Vom TX des Pi zum RX des AVR würde ich mindestens einen Längswiderstand einbauen. Einmal den Port des AVR falsch gesetzt und dem Pi wird es warm.
    Kommt denn auch ein Echo zurück, wenn statt des AVR ein Terminalprogramm mit dem Pi spricht?


    Edit:
    Das Echo könnte auch kommen, wenn die Masseverbindung fehlerhaft ist.
    Geändert von peterfido (25.03.2013 um 19:49 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    Zitat Zitat von peterfido Beitrag anzeigen
    Kommt denn auch ein Echo zurück, wenn statt des AVR ein Terminalprogramm mit dem Pi spricht?
    Irgendwie versteh ich nicht ganz, was du meinst?
    *verwirrt*

  5. #15
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Er möchte wissen ob auch ein Echo zurück kommt wenn du deinen PC an das Pi anschließt (mittels USB/RS232 Wandler. Auf 3,3V Pegel achten!).
    Du sendest also per PC was an dein Pi und simulierst damit deinen AVR. Wenn das Zeichen dann wieder im Terminal erscheint, welches du eingegeben hast, ist ein Echo zurück gekommen. Falls du ein Zeichen eintippst und es erscheint nicht im Terminal am Rechner kommt kein Echo zurück und der Fehler liegt am AVR und nicht am Pi.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    Es gibt ja drei mögliche Fehlerquellen:
    -AVR
    -Pegelwandler
    -Pi
    Einen Fehler beim AVR gibt es nicht, da wir per XBEE und Hyperterminal die Geschichte schon getestet haben und alles einwandfrei funktioniert hat.
    Also bringt der Test wohl keine neue Erkenntnis (wir müssten ja den selben Pegelwandler verwenden), oder?

    Gruß Ivo und M.

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    So ein bißchen Mitarbeit sollte bei der Fehlersuche schon sein. Ich habe die Hardware nicht hier. Meine Raspbis arbeiten mit dem von mir verlinkten und compilierten Quellcode echofrei. Das Problem vermute ich beim Pi oder in der Hardware. Hardware wäre z.B. durch eine Verbindung RX/TX, bzw. GND hochohmig. Dann noch evtl. die Spannungsversorgung.

    Den Pegelwandler kannst Du nur zum PC nutzen, wenn danach noch ein TTL/USB Wandler kommt. Schließt Du die Signale eines USB-RS232 Wandlers direkt an den Raspi an, wird dieser leiden oder gar zerstört. Du schreibst vom Xbee. Diesen per Wandler an den Raspi und den gleichen Test wie mit dem AVR durchführen.

    Ich selbst nehme für solche Tests den FTDI. Dieser lässt sich mit 3,3V auf der IO Seite betreiben und spart so Pegelwandler. Andererseits kann er auch 5V und so direkt an den AVR.

    Eine weitere Fehlerquelle ist die Software auf dem Pi. Läuft da im Hintergrund noch eine Software, welche an der seriellen Schnittstelle lauscht bzw. sendet?

    Da fällt mir noch eine Idee ein. Einfach am Raspbi RX mit TX verbinden, ohne weitere Hardware außer einem Logiktester.

    Dann einmal was per Echo über /dev/ttyAMA0 absenden.
    Code:
    echo hallo > /dev/ttyAMA0
    Wenn jetzt tatsächlich ein Echo vom Raspbi kommen sollte, dann wird der sich ständig immer wieder das selbe senden und der Logiktester sollte mitblinken. Für den Test empfehle ich eine langsame Baudrate, um das Blinken besser zu erkennen.

    Ist kein Logiktester zur Hand, kann der AVR dienlich sein. Einfach das Signal auf einen Eingang ohne Pullups und dessen Zustand auf einem Ausgang an eine LED.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    So nach viel rumprobieren mit dem XBee usw. konnten wir nun ein Hardwareproblem ausschließen.
    Durch zufall bin ich auf jemanden gestoßen, der ein und auslesen nicht in der shell sondern mit "minicom" macht, das wohl irgendwelche schönen einstellungen vornimmt denn:
    sobald ich "minicom" einmal starte funktioniert input und output (ohne echo) sowohl in minicom als auch in der shell. Beim neustart resettet sich die geschichte allerdings wieder.
    Aber es klappt auf jeden Fall scho

    Vielen Dank noch mal für die Hilfe
    Gruß, Ivo

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Das ist merkwürdig. Wie schaltest du die ttyAMA0 eigentlich frei, um sie nutzen zu können? Evtl. ist da der Hund begraben.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. serielle schnittstelle
    Von Roboman93 im Forum Robby RP6
    Antworten: 11
    Letzter Beitrag: 15.04.2008, 19:48
  2. Serielle Schnittstelle
    Von pacer_one im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 08.01.2008, 18:33
  3. Serielle Schnittstelle
    Von suggle im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 24.01.2006, 14:34
  4. [ERLEDIGT] serielle Schnittstelle
    Von Devil Ray im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 04.10.2004, 13:26
  5. 2x ATMEGA 1x serielle Schnittstelle?
    Von boeseTURBO-CT im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 16.06.2004, 12:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress