SPI output to MAX5741 DAC to wake up and generate a ramp on all outputs

Dependencies:   mbed

Committer:
DanArgust
Date:
Thu Jul 14 09:53:23 2016 +0000
Revision:
0:1d5526c361e4
First commit; SPI output to wake up a MAX5741 DAC and generate a ramp on all outputs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DanArgust 0:1d5526c361e4 1 /***************************
DanArgust 0:1d5526c361e4 2 * Controller for 10bit DAC *
DanArgust 0:1d5526c361e4 3 * MAX5741 Ramp Signal *
DanArgust 0:1d5526c361e4 4 * 08/07/2016 *
DanArgust 0:1d5526c361e4 5 * Dan Argust *
DanArgust 0:1d5526c361e4 6 ***************************/
DanArgust 0:1d5526c361e4 7
DanArgust 0:1d5526c361e4 8 #include "mbed.h"
DanArgust 0:1d5526c361e4 9
DanArgust 0:1d5526c361e4 10 //SPI(MOSI,MISO,SCLK)
DanArgust 0:1d5526c361e4 11 SPI device(P0_9,P0_8,P1_29);
DanArgust 0:1d5526c361e4 12 DigitalOut cs(P0_2);
DanArgust 0:1d5526c361e4 13
DanArgust 0:1d5526c361e4 14 int response = 0;
DanArgust 0:1d5526c361e4 15 unsigned int control = 0x0;
DanArgust 0:1d5526c361e4 16 unsigned int data = 0x000;
DanArgust 0:1d5526c361e4 17
DanArgust 0:1d5526c361e4 18 int main() {
DanArgust 0:1d5526c361e4 19 device.format(16,1);
DanArgust 0:1d5526c361e4 20 control = 0xf;
DanArgust 0:1d5526c361e4 21 data = 0xf010;
DanArgust 0:1d5526c361e4 22 cs = 0;
DanArgust 0:1d5526c361e4 23 response = device.write((control<<12)|(data));
DanArgust 0:1d5526c361e4 24 cs = 1;
DanArgust 0:1d5526c361e4 25 control = 0xc;
DanArgust 0:1d5526c361e4 26 data = 0x000;
DanArgust 0:1d5526c361e4 27 while(true){
DanArgust 0:1d5526c361e4 28 cs = 0;
DanArgust 0:1d5526c361e4 29 response = device.write((control<<12)|(data));
DanArgust 0:1d5526c361e4 30 cs = 1;
DanArgust 0:1d5526c361e4 31 (data>=0xffc) ? (data=0) : (data += 0x04);
DanArgust 0:1d5526c361e4 32 wait_us(1);
DanArgust 0:1d5526c361e4 33 }
DanArgust 0:1d5526c361e4 34 }