Lib für ADS1251

OP #1070184
Lesenswert?

Naja, es hätte ja sein können, dass es dafür schon fertige Routinen 
gibt. Wie etwas funktioniert, steht ja immer im Datenblatt, aber  bevor 
ich anfange alles selbst zu schreiben, frage ich lieber vorher noch - es 
gibt ja für extrem viele Dinge fertigen C-Code.
OP #1071771
Lesenswert?

Hallo Leute,

ich habe mal ein wenig programmiert heute Abend, wobei folgendes 
entstanden ist:
1
// Initialisieren des SPI
2
void init_spi(void)
3
{
4
    SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
5
    SPSR |= (1<<SPI2X);
6
}
1
// Anfordern von 24-Bit Daten (24 Bit AD-Wandler)
2
spi_value = 0x00 << 8;
3

4
SPDR = 0xFF;
5
while(!(SPSR & (1<<SPIF))){};
6
spi_value = (spi_value | SPDR) << 8;
7
  
8
SPDR = 0xFF;
9
while(!(SPSR & (1<<SPIF))){};
10
spi_value = (spi_value | SPDR) << 8;
11
        
12
SPDR = 0xFF;
13
while(!(SPSR & (1<<SPIF))){};
14
spi_value = (spi_value | SPDR);

Leider kommt da nur Mist an - ist diese Art der Datenabfrage prinzipiell 
schon mal richtig (SPI-seitig)?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren