Hallo, ich habe ein problem in Bascom (ja, ich weis.............). Ich bin gerade dabei einen DAC zu programmieren, und stelle es mir wie folgt vor. Es ist ein 8-Kanal DAC. Das Datenwort das gesendet werden muß ist ein 16-Bit Wort. Bit 0-12 enthällt den wert und 13-16 die Adresse des Kanal´s. Wenn ich nun den wert ändere, und die Adresse das Kanal´s wider dazu addiere, so erhalte ich ja wider das Datenwort zum senden. Da ich aber mit dem SPIOUT-Befehl nur 8-Bit senden kann, muß ich es irgendwie zerlegen. Wie könnte ich das am besten machen ? Bitte um Hilfe........
Gast
#1715185
also in c würd ich sowas machen (sieben und maskieren): uint16 wert = ?????; uint8 high_byte, low_byte; high_byte = (uint8) (wert >> 4) & 0xFF; low_byte = (uint8) wert & 0xFF;
Gast
#1715189
Mit dem Befehl "HIGHW" kannst Du Dir von einer Wordvariable das obere Byte absägen und mittels Bitmanipulation (UND/ODER) die 3 obersten Bits isolieren. MfG Paul
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.