LTC1286 --> AVR --> Software SPI

Gast #789102
Habe mir die Beispiele jetzt mal angeschaut.

Habe keinerlei Wartepausen zischen den Flanken entdecken können. Sind da 
keine nötigt?
Laut dem Datenblatt vom LTC1286 erkenne ich zumindestens beim Startup 
eine gewisse einzuhaltende Warrtezeit, denke ich.
#789115
@  Ulf (Gast)

>Habe keinerlei Wartepausen zischen den Flanken entdecken können. Sind da
>keine nötigt?

Kommt darauf an, wie schnell der SPI-Slave getaktet werden kann. Die 
74xx595 sind da sehr schnell.

>Laut dem Datenblatt vom LTC1286 erkenne ich zumindestens beim Startup
>eine gewisse einzuhaltende Warrtezeit, denke ich.

Dann bau sie doch einfach ein.

MfG
Falk
Gast #789119
Wie funktioniert das mit dem CLK Signal, gib es da auch eine Zeit wie 
lange HIGH und LOW sein muss? Kann das aus dem Datenblatt nicht so 
richtig raus lesen.
Gast #789474
Habe jetzt alles in ein Programm gefasst. Leider bekomme ich immer noch 
keine Werte. Finde den Fehler einfach nicht.

Habe als Anhang mal die .asm Datei mit dran gehängt. Wäre schön wenn sie 
sich mal jemand angucken könnte.
Angehängte Dateien:
#789496
@ Ulf (Gast)

>Habe jetzt alles in ein Programm gefasst. Leider bekomme ich immer noch
>keine Werte. Finde den Fehler einfach nicht.

In eine Register passen kein 12 Bit, die oberen 4 landen im Nirvana.

>     ldi temp3, 12                 ; Bitz�hler


Und du hast einen kleinen Lapsus drin

>        ldi temp1, (1<<CS)        ; Port C CS=HIGH
>        out DDRC, temp1

Das soll sicher heissen

        out PORTC, temp1

Ausserdem ist es sehr schlecht, den gesamten Port zu schreiben. Damit 
beeinflusst du auch CLK. Nimm lieber sbi und cbi.

MfG
Falk
Gast #789503
Das mit den 12Bit ist klar. Da kümmer ich mich später drum. Will einfach 
erst mal ein Lebenszeichen vom ADC.

Die anderen beiden Sachen ändere ich gleich und schaue mal ob es geht.
Gast #789521
LÄUFT !!! Ich danke dir sehr FALK! Da kann ich heute Nacht wenigstens In 
Ruhe einschlafen :-).

Es war noch ein anderer Fehler drin.

      sbic PINB, Dout     ; wenn Null, nächsten Befehl überspringen

musste natürlich PINC sein. Hatte es von deinem LINK rauskopiert und 
vergessen zu ändern.

      sbic PINC, Dout     ; wenn Null, nächsten Befehl überspringen

Jetzt bin ich meinem großen Projekt wieder ein Stück näher.

Viele Grüße Ulf
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.