-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Problem mit SPI

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    11

    Problem mit SPI

    Anzeige

    Hallo

    ich bin neu hier im Forum und vielleicht könnt ihr mir ja weiterhelfen.
    Ich möchte einen ATMega128 mit einem USB-Hostcontroller von FTDI über SPI verbinden. Allerdings funktioniert das Programm nicht so wie es soll.
    Es soll über den SPI-Bus das Wort "Dir" an den Hostcontroller schicken worauf dieser über den SPI-Bus ausgibt ob ein USB-Stick angeschlossen ist.
    Vielleicht findet ja hier jemand den Fehler.
    Programm ist unten angehängt und schonmal vielen Dank für die Hilfe

    Code:
    $regfile = "M128def.dat"
    $crystal = 8000000
    $baud = 19200
    
    Dim A As String * 20
    Dim Test As String * 20
    
    Config Spi = Soft , Din = Pinb.3 , Dout = Pinb.3 , Clock = Pinb.1 ,
    Spiinit
    
    A = "Dir"
    
    Do
    Spiout A , 10
    Spiin Test , 10
    Printbin Test
    Wait 2
    Loop
    End

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Wenn das programm nicht funktioniert, was tut es dann ?
    gar nix ? oder empfängst du müll ?
    Stimmen die polaritäten der Signale ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    11
    Ich hab mal mit Hexterminal drauf geschaut und es wird nur "......" zurück gesendet. Und mit RS232 funktioniert das einwandfrei alles nur bei SPI nicht so ganz..... .
    Kenne mich leider auch mit dem SPI nicht so gut aus
    Richtig angeschlossen ist auch alles das habe ich schon überprüft.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Na, dein programm ist ja an sich recht übersichtlich. Da kann man eigentlich nicht viel falsch machen.
    Ich nehme an, dass die musik beim "config" spielt, da müsste man genau wissen, was der ftdi für vorstellungen hat, was polaritäten, phasen etc. betrifft.
    Gibt's da doku dazu ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    11
    Ja klar. Sorry ganz vergessen sie anzuhängen.

    Hier ist der Link zu dem Produkt:
    http://de.rs-online.com/web/search/s...duct&R=0406552

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Schlaumi89
    Ja klar. Sorry ganz vergessen sie anzuhängen.

    Hier ist der Link zu dem Produkt:
    http://de.rs-online.com/web/search/s...duct&R=0406552
    Im Datenblatt sind bei SPI Pin 5 und pin6 genannt, Pin6 mit Pull UP Pin 5 mit Pull down.

    Du hast aber bei Config in und out auf den gleichen Pin ?

    Ist das so gewollt?

    Gruß Richard

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    11
    Uups ne das sollte nicht sein. Hab es geändert aber trotzdem kommt da nichts ordentliches raus sondern nur Ã\5ÃÃ\5Ã\5Ã\5ÃÃ\5Ã\5Ã\5Ã
    Hier ist auch nochmal die Verdrahtung
    USB-Host: Mega128:
    6 -> Pin 11 (B.1)
    8 -> Pin 12 (B.2)
    9 -> Pin 13 (B.3)
    10 -> Pin 8 (E.6)

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2008
    Ort
    Villingen-Schwenningen
    Beiträge
    143
    Hallo,
    Strings können per SPI nicht verschickt werden.
    Man muss den String Zeichenweise ausgeben, sonnst klappt das nicht.

    Mitch.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    11
    Wie mach ich das den?
    Und wie empfange ich die Bytes dann wieder und bau die richtig zusammen?

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2008
    Ort
    Villingen-Schwenningen
    Beiträge
    143
    Entweder man liest der Speicher aus, an dem der String gespeichert ist Byte für Byte aus und senden den Wert.

    Oder man verwendet Mid(Variable-Name,Position,1) und sendet den ASCII-Wert davon.

    Es führen immer mehrere Wege nach ROM!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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