Dependencies:   mbed

Committer:
simon
Date:
Tue Sep 01 21:57:24 2009 +0000
Revision:
0:f064d28957e3

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:f064d28957e3 1 // example code to get MAX5842 working
simon 0:f064d28957e3 2 // Copyright (c) 2009, sford
simon 0:f064d28957e3 3 // Released under the MIT License: http://mbed.org/license/mit
simon 0:f064d28957e3 4
simon 0:f064d28957e3 5 // MAX5842 setup: ADD = 0v, REF = 3.3v, OUTA -> p16
simon 0:f064d28957e3 6
simon 0:f064d28957e3 7 #include "mbed.h"
simon 0:f064d28957e3 8
simon 0:f064d28957e3 9 AnalogIn result(p16); // input to test MAX5842 output
simon 0:f064d28957e3 10 DigitalOut led(LED1);
simon 0:f064d28957e3 11
simon 0:f064d28957e3 12 I2C max5842(p9, p10);
simon 0:f064d28957e3 13
simon 0:f064d28957e3 14 int main() {
simon 0:f064d28957e3 15
simon 0:f064d28957e3 16 max5842.frequency(400000); // 400 KHz
simon 0:f064d28957e3 17
simon 0:f064d28957e3 18 // ADDR: 011 110 ADD, where ADD = 0
simon 0:f064d28957e3 19 // 011 1100 == 0x3C
simon 0:f064d28957e3 20 const int addr = 0x3C;
simon 0:f064d28957e3 21
simon 0:f064d28957e3 22 // Power up the DAC
simon 0:f064d28957e3 23 // - Extended Commands [ 1111 0000 xx DCBA PD1 PD0 ]
simon 0:f064d28957e3 24 // - DCBA = 1111 means select all, PD = 00 means power on
simon 0:f064d28957e3 25 char power_up[2] = {0xF0, 0x3C};
simon 0:f064d28957e3 26 max5842.write(addr, power_up, 2);
simon 0:f064d28957e3 27
simon 0:f064d28957e3 28 // set A output to 50%
simon 0:f064d28957e3 29 // 0 (set A) D DD
simon 0:f064d28957e3 30 char data[2] = {0x08, 0x00};
simon 0:f064d28957e3 31 max5842.write(addr, data, 2);
simon 0:f064d28957e3 32
simon 0:f064d28957e3 33 while(1) {
simon 0:f064d28957e3 34 printf("res = %f\n", result.read());
simon 0:f064d28957e3 35 led = !led;
simon 0:f064d28957e3 36 wait(0.25);
simon 0:f064d28957e3 37 }
simon 0:f064d28957e3 38 }