Hallo habe mal eine Frage zum DAC 5156 (12 Bit DAC). Wie kann ich hier die Max- und Min-Spannung einstellen. Habe mal folgendes gefunden, weis aber nicht ob das so stimmt. Die Daten sende ich per SPI mit Hilfe eines Atmega32. void SendSPIData(unsigned int spi_data) { SPCR = 0xD2; //Schnell für DAC Teiler (fosc / 16 = 1 Mhz) delay_us(10); spiROk = 0; SPDR = ((spi_data & 0xFF00)>>8); //8Höherwertige Bit über SPI senden while (spiROk ==0);//spiRok = 1 wenn übertragung abgeschlossen spiROk = 0; SPDR = (spi_data & 0x00FF); //8 Niederwertige Bit über SPI senden while (spiROk ==0); //spiRok = 1 wenn übertragung abgeschlossen delay_us(10); delay_us(10); } void SetDAC(unsigned char channel, unsigned int voltage) { unsigned int x = 0; unsigned int spannung0; unsigned int spannung1; if (channel==1) { spannung1 = voltage; //***********für was wird das benötigt voltage = (voltage / 7.25); voltage = (voltage & 0x0FFF); x = 0x8000; //Channel Bit A0 setzen x = (x | 0x4000); //Input Registers(DAC) load and update x = (x | (voltage<<1)); SendSPIData(x); } if (channel==0) { spannung0 = voltage; voltage = (voltage / 7.25); voltage = (voltage & 0x0FFF); x = 0x4000; //Input Registers(DAC) load and update x = (x | (voltage<<1)); SendSPIData(x); } } Jetzt möchte ich den DAC setzen, stimmt das so: SetDAC(0,Oberwert_0); SetDAC(1,Unterwert_0); printf("Spannungen sind gesetzt?");
Gibt es denn niemanden der so etwas schon mal gemacht hat oder hat jemand eine Anleitung auf deutsch da mein Englisch nicht so toll ist. Und ich im Datenblatt des DACs nichts brauchbares finden kann. Gruß Tim
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.