-         

Ergebnis 1 bis 6 von 6

Thema: Serielle Bit-Übertragung?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    10

    Serielle Bit-Übertragung?

    Anzeige

    Ich möchte 24 Bit an einen LM7001 übertragen.
    Das LM7001 braucht CE, Data, und CL an Steuerleitungen.
    Wie bekomme ich nun die Bits an einem x-belieigen Port-Pin raus?
    Wie ist das mit der Übertragungsgeschwindigkeit?

    http://pdf1.alldatasheet.com/datashe...YO/LM7001.html

    Da nur die ersten 2 Byte (14Bit) variieren, möchte ich die letzten 8Bits einfach an die Variable mit den ersten 2 Bytes anhängen.

    Aber ich habe noch garkeine Idee wie ?

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Da wäre bei Bascom "SPI" zuständig.
    Am besten schau die die Help-Seiten dazu an.
    Die Geschwindigkeit spielt keine Rolle, da es ja eine Taktleitung gibt.
    Es geht halt, so schnell es geht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Klingt für mich nach Shiftout.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    10
    Weder bei Shiftout noch Spi komme ich klar.

    Dim A(10) As Byte
    Config Spi = Soft , Din =Pinb.0 , Dout =Portb.1 , Ss =Portb.2 , Clock =Portb.3

    Spiinit
    Spiout A(1), 4 'write 4 bytes a(1), a(2) , a(3) and a(4)



    ?
    Wie muss der Befehl lauten, dass ich meine 3 Byte übertrage?
    Jedes Byte nacheinander mit zB
    Spiout var_a
    Spiout var_b
    Spiout var_c
    zu übertragen geht ja nicht, da CE ja jedesmal abbricht, und somit nur 3 Unvollständige Daten übertragen werden.

    Kann mir da mal jemand auf die Srünge helfen, wie das Programm zur Datenübertragung zum LM7001 letztendlich aussehen muss?

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Hast Du es schon "zu Fuss" versucht?
    Zuerst CE setzen(oder löschen, weiß grad nich)t. Dann das erste Bit an Data legen. clock setzen (oder löschen...) kurze pause(4 x nop oder so) dann clock löschen (oder setzen...), nächste Bit anlegen. clock wieder ändern, pause, usw nach dem letzen bit ce wieder zurücknehmen.

    Sorry für die Beschreibung, habe aber grad keine Entwicklungsplattform zum testen hier...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    10
    Oki, funktioniert mit Shiftout und CE zufuß setzen:

    Code:
    CE = 1
    Shiftout Dat , Cl , Var_a , 1
    Shiftout Dat , Cl , Var_b , 1
    Shiftout Dat , Cl , Var_c , 1 
    CE = 0

Berechtigungen

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