Hallo, ich habe einen LTC1446 an einen Mega8 gehängt. Das ganze läuft NICHT über den SPI des Atmels, da ich PC4 und 5 als AD Wandlker benötige. Jetzt habe ich das Problem, dass der DA nur selten das richtige Ergebnis ausgibt. Der Quellcode befindet sich im Anhang. Die funktion ist so geschrieben, dass man über value einen 12 bit Wert übergibt, der dann je nach Kanal mit dem alten 24bit Wert den neuen zu übertrageneden 24bit Wert erzeugt. Hardwaretechnisch habe ich CLK, CS, DIN direkt am Atmel angeschlossen, also keine Widerstände in den Leitungen und keine Pull Ups. Ich hoffe mir kann jemand sagen was es besser zu machen gibt sundancer
moin moin, im LTC können doch nur beide Werte gleichzeitig geändert werden, die Übergabe eines Wertes geht nicht. Du must also beide Werte zwischespeichern und bei der Ausgabe zusammenbauen. Idee: if (channel == 0) { DacData_A = value; } else { DacData_B = value; } glb_dacdata = (DacData_A * 4096) DacData_B; } Mit Gruß Pieter
Genau das mache ich schon. In glb_dacdata werden die Werte gespeicehrt und je anch funktionesaufruf eine Hälft verändert.
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.