-         

Ergebnis 1 bis 7 von 7

Thema: SOFT SPI

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.12.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    86

    SOFT SPI

    Anzeige

    Hallo,
    ich hab eine kleine frage und zwar ist es irgenwie möglich bei soft spi einzustellen wann er anfängt die daten auf der empfangsleitung auszuwerten(also ob bei der ersten hi -> low oder bei der ersten low -> hi änderung an der clockline)

    das senden funktioniert problemlos nur beim empfangen schneidert er mir das erste bit im byte ab und ersetzt das letzte dann vollglich durch 0

    gruss
    markus

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    15.12.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    86

    also ich sende 10110000(hxb0) und empfangen sollte er 0100000 Bascom zeigt mir aber 10000000 an.

    Code:
    Config Spi = Soft , Din = Pinb.5 , Dout = Portb.6 , Ss = None , Clock = Portb.7
    Cs_line Alias Portb.4
    
    
    Dim Rx_status As Byte
    Dim Spi_rx_status As Byte
    
    Spi_rx_status = &HB0
    
    
    Reset Cs_line
    
    
    Spiout Spi_rx_status , 1
    Spiin Rx_status , 1
    Spiin Rx_status , 1
    
    
    Set Cs_line
    
    Print Bin(rx_status)
    Die Grafik oben Zeigt, was Physikalisch auf den SPI Bus geschieht, das Senden der Daten geht auch Problemlos, nur das Empfangen nicht

    Gruss
    Markus

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.12.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    86
    noch eine kleine erklärung zum quellcode:

    Spiin Rx_status , 1

    ist zweimal drin, weil nach dem datenblatt des mcp2515 die antwort immer wieder gesendet wird, solange die cs leitung low ist.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Hi, freut mich wenn es hilft.
    Habe irgendwo gelesen, dass zwischen den Kommando's 1ms gewartet werden sollte.
    Du wirst es auch schon mit nur einem
    Spiin Rx_status , 1
    probiert haben, ev. da mal 1ms warten?

    http://www.mikrocontroller.net/topic/17274
    MfG

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.12.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    86
    das mit den wait hab ich schon rausgefunden, das hat aber leider nichts mit meinen problem zu tun. bei mir werden ja die daten eigendlich richtig vom mcp2515 gesendet, aber der attiny2313 bzw der soft spi von Bascom verschlucken das erste bit der empfangenen nachricht.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Es geht um die Empfangsroutine,
    (bei der Funkübertragung ohne Manchestercode, muss man auch ein Dummy senden, damit der Sender anschwingt.)
    diese Dummy-byte -Geschichte hilft nicht?
    Wirst du auch schon probiert haben.
    Das Online-Tutorium von kreativchaos hast du sicher schon gelesen, ist zwar in C, aber ist gut kommentiert, benutzt aber Hard-SPI.
    http://www.kreatives-chaos.com/artik...-eines-mcp2515

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    15.12.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    86
    Ja diese HP kenne ich. das war der grund warum ich überhaupt draufgekommen bin mein projekt ohne pc sondern mit einen mcp zu machen.



    Hat keine der Profies einen TIP zur Softspi? Ich will mir das nicht selber Programmieren, aber wenns nicht anders geht oder ich muss auf einen AVR mit hardware spi umsteigen, aber die sind paar euro teuerer und größer

Berechtigungen

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