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?
Steht doch eigentlich alles im Datenblatt...? Auf /DOUT warten und dann z.B. mit dem SPI raustakten.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.