Hört sich ja erst mal gut an, dann aber wieder nicht!
Bin absoluter Neueunsteiger, daher hab ich noch nicht so wirklich den Durchblick. Brauch das aber für ein Projekt.
Also, das Ganze ist gedacht für ein Regelsystem nach einer Drehzahlmessung. Der Controller soll dabei die Signale einer Lichtschranke in eine Drehzahl und einen Drehzahlgradienten berechen. Diese beiden Werte sollen für regelungstechnische Aufgaben mit den beiden DA-Wandlern als analoge Spannungssignale ausgegeben werden.
Die DA-Wandler haben 12 bit Schieberegister, dann müssten eigentlich, wenn ich 2 Byte rein schiebe, die ersten 4 reingeschobenen Bit des ersten Bytes wieder raus fallen.
Könnte ich nicht meinen Ausgabewert als Integer definieren, den Bereich des Wertes irgendwie auf 0 bis 4095 festlegen (geht das und wie?), dann müssten doch die ersten 4 Stellen (also von links gesehen) des Integer null bleiben. Wenn ich diese Zahl jetzt so in meinen DA-Wandler rein takte hätte ich die ersten vier (wieder von inks gesehen) Stellen null, die letzten 4 (die aber einen wert beinhalten) aber wieder aus dem Register heraus geschoben. Ich könnte aber vorher den wert mit 16 multiplizieren, damit würde ich alle 1en um vier Stellen nach links verschieben, somit hätte ich eine Integerzahl, die am ende immer 4 "0"-Bits hat, die ich ohne Probleme einfach wieder aus dem wandler raus schieben könnte.
Das war jetzt gerade so meine Idee, funktioniert das evtl.??
Wie ich das dann aber mit den CS hinkriege weiß ich immer noch nicht..

Grüße
Christian