Simple driver for the 12-bit DAC DAC7311 from TI

Committer:
macgyveremir
Date:
Tue Oct 23 19:07:26 2012 +0000
Revision:
1:5497575badba
Parent:
0:ca49770e05b5
Correct and working implementation. Can easily be generalized to family devices DACx311

Who changed what in which revision?

UserRevisionLine numberNew contents of line
macgyveremir 0:ca49770e05b5 1 #include "DAC7311.h"
macgyveremir 0:ca49770e05b5 2
macgyveremir 0:ca49770e05b5 3 void DAC7311::set_mode (unsigned short mode)
macgyveremir 0:ca49770e05b5 4 {
macgyveremir 0:ca49770e05b5 5 this->mode = mode;
macgyveremir 0:ca49770e05b5 6
macgyveremir 0:ca49770e05b5 7 spi->format (16, DAC7311_SPI_MODE);
macgyveremir 1:5497575badba 8 wait_us (5);
macgyveremir 1:5497575badba 9
macgyveremir 0:ca49770e05b5 10 *sync = 0;
macgyveremir 0:ca49770e05b5 11 spi->write (mode | conf_data_12(value));
macgyveremir 0:ca49770e05b5 12 *sync = 1;
macgyveremir 0:ca49770e05b5 13 }
macgyveremir 0:ca49770e05b5 14
macgyveremir 0:ca49770e05b5 15 void DAC7311::set_value (unsigned short value)
macgyveremir 0:ca49770e05b5 16 {
macgyveremir 0:ca49770e05b5 17 this->value = value;
macgyveremir 0:ca49770e05b5 18
macgyveremir 0:ca49770e05b5 19 spi->format (16, DAC7311_SPI_MODE);
macgyveremir 1:5497575badba 20 wait_us (5);
macgyveremir 1:5497575badba 21
macgyveremir 0:ca49770e05b5 22 *sync = 0;
macgyveremir 0:ca49770e05b5 23 spi->write (mode | conf_data_12(value));
macgyveremir 0:ca49770e05b5 24 *sync = 1;
macgyveremir 1:5497575badba 25 }