Forum: Compiler & IDEs Suche für AT90CAN128 SPI Beispiel zum auslesen eines ADCs


von Walter Reuther (Gast)


Lesenswert?

Hi!

Wie in der Überschrift zu lesen ist, bin ich auf der Suche nach einem 
Beispielcode zum Auslesen eines ADCs mit SPI-Schnittstelle.

Hat bzw. kennt jemand Quellen, Code?

DANKE!

Beste Grüße

von Karl H. (kbuchegg)


Lesenswert?

Es gibt kein Universalbeispiel.

SPI funktioniert immer gleich. Aber wie es benutzt werden muss, um 
deinen konkreten ADC auszulesen, steht im Datenblatt deines ADC.


SPI ist der Transportmechanismus.
Dieser Transportmechanismus wird benutzt um damit konkrete Übertragungen 
zu machen. Wie dieser Transportmechanismus eingesetzt wird, definiert 
die darüber liegende Schicht (in deinem Fall der ADC). SPI selber stellt 
nur den Mechanismus zur Verfügung, so wie das Telefonnetz die 
Übertragung von einem Telefonmikrofon zu einem anderen 
Telefon-Lautsprecher zur Verfügung stellt. Ob du dann Englisch oder 
Japanisch oder Deutsch sprichst, oder gar ins Mikrofon reinpfeifst, 
interessiert die Transportschicht nicht. Sehr wohl aber den Hund am 
anderen Ende der Leitung, der mit Japanisch nichts anfangen kann, für 
den aber ein Pfiff eine Bedeutung hat.

von Walter Reuther (Gast)


Lesenswert?

Danke für die Antwort

Gibt es ein Initialisierungsbeispiel für die Schnittstelle?

MFG

von Karl H. (kbuchegg)


Lesenswert?

SPI wird an vielen Stellen eingesetzt.

Letzten Endes ist Hardware-SPI nichts anderes, als die 
Kommunikationsparameter in den entsprechenden Registern einzustellen (da 
gibt es in paar Varianten) und dann den zu übertragenden Wert ins SPDR 
Register zu schreiben.

Was man wissen sollte: SPI ist eigentlich mehr ein 
Austausch-Meschanismus. D.h. die beiden Kommunikationspartner tauschen 1 
Byte aus. Der Master überträgt 1 Byte zum Slave und gleichzeitig 
überträgt der Slave 1 Byte zum Master. Die Kontrolle liegt immer beim 
Master. D.h. der Slave kann nicht von sich aus einfach 1 Byte 
übertragen, sondern der Master muss dies dem Slave ermöglichen, in dem 
er seinerseits 1 Byte überträgt.

Beispiele für SPI gibt es zu Hauf. Entweder danach Googeln oder ganz 
einfach ein Blick ins Datenblatt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.