test00

Dependencies:   MCP4725 mbed

Fork of test01 by Four Squared

Committer:
zzl5143
Date:
Wed Nov 09 17:17:07 2016 +0000
Revision:
2:76f0ff8c3068
Parent:
1:c5360811157c
Sin wave test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xWhitfordx 0:77006df50c28 1 #include "mbed.h"
xWhitfordx 0:77006df50c28 2 #include "mcp4725.h"
xWhitfordx 0:77006df50c28 3
xWhitfordx 0:77006df50c28 4 /**
xWhitfordx 0:77006df50c28 5 * A test program for the MCP4725 DAC Library. This Test Application requires the following:
xWhitfordx 0:77006df50c28 6 * * An MCP4725 connected to the I2C bus of the mbed LPC1768.
xWhitfordx 0:77006df50c28 7 * * The analog out of the MCP1768 connected to Pin15 (analog in) of the mbed LPC1768.
xWhitfordx 0:77006df50c28 8 *
xWhitfordx 0:77006df50c28 9 *
xWhitfordx 0:77006df50c28 10 * This is a stripped down version of the MCP4725_Library_Test found online, and should make the necessary commands more clear.
xWhitfordx 0:77006df50c28 11 * Last Edited: 12/24/13, Tim Brubaker
xWhitfordx 0:77006df50c28 12 *
xWhitfordx 0:77006df50c28 13 */
xWhitfordx 0:77006df50c28 14
xWhitfordx 0:77006df50c28 15 DigitalOut testLed(LED1);
xWhitfordx 0:77006df50c28 16 Serial pc(USBTX, USBRX);
xWhitfordx 0:77006df50c28 17 AnalogIn analogIn(p15);
xWhitfordx 0:77006df50c28 18
xWhitfordx 0:77006df50c28 19 // Class instantiation (similar to Serial pc(USBTX, USBRX) in function)
xWhitfordx 0:77006df50c28 20 MCP4725 bacon(p9, p10, MCP4725::Fast400kHz, 0);
xWhitfordx 0:77006df50c28 21
xWhitfordx 0:77006df50c28 22
xWhitfordx 0:77006df50c28 23 int main()
xWhitfordx 0:77006df50c28 24 {
xWhitfordx 0:77006df50c28 25 // Print to terminal
xWhitfordx 0:77006df50c28 26 pc.printf("Ready.......FIGHT!\r\n");
xWhitfordx 1:c5360811157c 27 double freqf;
zzl5143 2:76f0ff8c3068 28 double buffer [100];
zzl5143 2:76f0ff8c3068 29 int cut = 0;
zzl5143 2:76f0ff8c3068 30
xWhitfordx 1:c5360811157c 31 // if statement
xWhitfordx 1:c5360811157c 32 //freqf = 0.5;
xWhitfordx 1:c5360811157c 33 freqf = 0.05;
zzl5143 2:76f0ff8c3068 34
zzl5143 2:76f0ff8c3068 35 while( cut < 100){
zzl5143 2:76f0ff8c3068 36 buffer[ cut ] = sin( 2 * 3.1415926 * cut / 100);
zzl5143 2:76f0ff8c3068 37 cut++;
zzl5143 2:76f0ff8c3068 38 }
zzl5143 2:76f0ff8c3068 39
xWhitfordx 1:c5360811157c 40
zzl5143 2:76f0ff8c3068 41
xWhitfordx 0:77006df50c28 42 while(1) {
zzl5143 2:76f0ff8c3068 43 /*
xWhitfordx 0:77006df50c28 44 testLed = 1;
xWhitfordx 1:c5360811157c 45 wait(freqf);
xWhitfordx 0:77006df50c28 46 // Write to DAC register (not EEPROM). Documentation in library files.
xWhitfordx 1:c5360811157c 47 bacon.write(MCP4725::Normal, (0xFFF * (1.0/3.32) ), false);
xWhitfordx 0:77006df50c28 48 testLed = 0;
xWhitfordx 1:c5360811157c 49 pc.printf("Value is %f V \r\n",analogIn.read()*3.3);
xWhitfordx 1:c5360811157c 50 wait(freqf);
xWhitfordx 1:c5360811157c 51 bacon.write(MCP4725::Normal, (0x000 * (1.0/3.3) ), false);
zzl5143 2:76f0ff8c3068 52 */
zzl5143 2:76f0ff8c3068 53
zzl5143 2:76f0ff8c3068 54
zzl5143 2:76f0ff8c3068 55
zzl5143 2:76f0ff8c3068 56 testLed = 1;
zzl5143 2:76f0ff8c3068 57
zzl5143 2:76f0ff8c3068 58 if ( cut == 100)
zzl5143 2:76f0ff8c3068 59 {
zzl5143 2:76f0ff8c3068 60 cut = 0;
zzl5143 2:76f0ff8c3068 61 }
zzl5143 2:76f0ff8c3068 62
zzl5143 2:76f0ff8c3068 63 bacon.write(MCP4725::Normal, (buffer[cut] * 0xFFF * (1.0/3.32) ), false);
zzl5143 2:76f0ff8c3068 64 cut++;
zzl5143 2:76f0ff8c3068 65
zzl5143 2:76f0ff8c3068 66 wait(freqf/100);
xWhitfordx 1:c5360811157c 67
xWhitfordx 0:77006df50c28 68 // Print ADC measurement to terminal. Scale factor of 3.3 needed for internal ADC.
xWhitfordx 0:77006df50c28 69 pc.printf("Value is %f V \r\n",analogIn.read()*3.3);
zzl5143 2:76f0ff8c3068 70
xWhitfordx 0:77006df50c28 71 }
xWhitfordx 0:77006df50c28 72 }