- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 62

Thema: ASM für SPI .. ist das richtig so?

  1. #41
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2006
    Beiträge
    29
    Anzeige

    E-Bike
    >>MISO leuchtet konstant _______ leuchtet konstant
    >d.h es werden keine DATEN vom SLAVE gesendet, oder nurdas
    >ZEICHEN "NULL" (alle 8 Bits vom SLAVE sind 0)

    Müsste da nicht die LED nach GND aus sein?
    Werden nur Nullen gesendet, ist praktisch die ganzen 8 Bit Low auf der Leitung. also nach Masse geschaltet.

  2. #42
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    >Müsste da nicht die LED nach GND aus sein?
    >Werden nur Nullen gesendet, ist praktisch die ganzen 8 Bit Low auf der >Leitung. also nach Masse geschaltet.

    kann ich Dir momentan auch noch nicht erklären.

    Nur was mich sehr wundert:

    Irgendwas stimmt mit DEINER "empfanger.asm" nicht,

    das ist ein Programm für einen MASTER



    ; ========================= SPI Transmit =================================
    spiout:

    out SPDR, temp
    wait_spi:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi
    ; SPIF is set
    in temp2, SPSR
    in temp2, SPDR ; release SPIF by reading Register

    ret ; back to programm..
    ; ================================================== ======================


    Das sind alles MASTER-Routinen ?????????

    was ist da los?

    Erklär mir mal ganz kurz was es machen soll

  3. #43
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2006
    Beiträge
    29
    das ist ja alt...
    aber das neue ist kaum anders:

    Byte an Slave senden:
    out SPDR, temp
    wait_spi:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi
    ; SPIF is set
    ; Lesen des SPSR (wegen rücksetzen des SPIF)
    in temp2, SPSR
    ; Lesen des SPDR (wegen rücksetzen des SPIF)
    in temp2, SPDR ; release SPIF by reading Register

    Das ist der SPI-Transfer-Prozess. Hast du doch bei dir auch drin... bis auf das SPIF-Rücksetzen

  4. #44
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    Mein SLAVE ist fertig..... und läuft.....
    (allerdings etwas seltsam noch...)
    Angehängte Dateien Angehängte Dateien

  5. #45
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2006
    Beiträge
    29
    Bist du Student oder sowas.. ich ja und kann nämlich über meine UNI-Email überall erfolgreich Samples bestellen. Hab schon 2 mal bei Microchip diese CAN-Chips geordert.
    Du hast nicht solche ICs ? Ich könnt sie dir zukommen lassen...

  6. #46
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    >Bist du Student oder sowas.. ich ja und kann nämlich über meine UNI->Email überall erfolgreich Samples bestellen. Hab schon 2 mal bei >Microchip diese CAN-Chips geordert.
    >Du hast nicht solche ICs ? Ich könnt sie dir zukommen lassen...

    ich kenn diese ICs nicht, habe auch noch nicht gegoogelt



    So Magnetus, was machen wir jetzt,

    mein MASTER sendet pausenlos ZEICHEN an den SLAVE und dieser sendet diese wieder EFOLGREICH zurück

  7. #47
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    Hab' gerade etwas gespielt

    Neue Erkenntnis:

    Wenn Ein SLAVE nicht sendet, warum auch immer,

    ist MISO ===> HIGH

  8. #48
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2006
    Beiträge
    29
    Hallo Bernard
    Wenn ich einen 8MHz Quarz statt des 4er bei den CAN-Transceivern nehme, wird etwa 3mal soviel korrekt übertragen wie vorher. Danach stoppt es dann wieder... Aber du kannst das wohl schlecht nachvollziehen ohne diese ICs..
    Die Übertragung sollte normalerweise bis heute fertig sein... so ein Mist.

  9. #49
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    >Wenn ich einen 8MHz Quarz statt des 4er bei den CAN-Transceivern >nehme, wird etwa 3mal soviel korrekt übertragen wie vorher

    ...hab jetzt mal einige Minuten auf die Schaltpläne gestarrt, so langsam verstehe ich dieses gesamte-Prinzip, denn Du hattes mir ja auch nicht auf meine Fragen so richtig geantwortet

    Mein Tipp, so auf die schnelle:

    - füge mal längere Pausen ein, bermutlich gibt es TIMING-Probleme im CAN-IC

    BSP:

    ; WRITE COMMAND
    ldi temp,WRITE
    out SPDR,temp
    wait_spi_w1:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi_w1
    in temp,SPDR ; release SPIF here
    ; SET ADDRESS
    out SPDR,address
    wait_spi_w2:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi_w2
    in temp,SPDR


    ändern in:

    ; WRITE COMMAND
    ldi temp,WRITE
    out SPDR,temp
    wait_spi_w1:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi_w1
    in temp,SPDR ; release SPIF here
    ;-----------------

    rcall PAUSE_100ms

    ; -----------------
    ; SET ADDRESS
    out SPDR,address
    wait_spi_w2:
    sbis SPSR,SPIF ; Transmission complete?
    rjmp wait_spi_w2
    in temp,SPDR

    Gib den CAN-IC genügend Zeit, seine Daten zu verarbeiten,
    bremse mal alles etwas, nicht, dass er total überfordert wird



    Bernhard

  10. #50
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    noch was:

    diese kurzen Pausen nach jedem "SENDEN" einlegen

    Vielleicht hilft es ?

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress