Forum: Compiler & IDEs Lib für ADS1251


von Ben M. (benn)


Lesenswert?

Hallo,

gibt es eine library zur Kommunikation zwischen einem AVR und dem 
ADS1251 AD-Wandler von Burr-Brown (TI) 
http://focus.ti.com/lit/ds/symlink/ads1251.pdf?

Hat jemand schon Erfahrungen mit diesem AD-Wandler und einem AVR 
gemacht?

von Sven P. (Gast)


Lesenswert?

Steht doch eigentlich alles im Datenblatt...? Auf /DOUT warten und dann 
z.B. mit dem SPI raustakten.

von Ben M. (benn)


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.

von Sven P. (Gast)


Lesenswert?

Überleg mal, ob das Sinn macht, das ist in C vielleicht ein Zehnzeiler 
:-}

von Ben M. (benn)


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)?

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.