El-POM1001 / Mbed 2 deprecated LAB06_Oppgave3_3

Dependencies:   mbed

Committer:
madmonkeyman82
Date:
Thu Oct 15 16:03:37 2015 +0000
Revision:
0:a6df9b39f120
ADC & DAC Analog

Who changed what in which revision?

UserRevisionLine numberNew contents of line
madmonkeyman82 0:a6df9b39f120 1 #include "mbed.h"
madmonkeyman82 0:a6df9b39f120 2
madmonkeyman82 0:a6df9b39f120 3
madmonkeyman82 0:a6df9b39f120 4 DigitalOut Vcc(PA_0);
madmonkeyman82 0:a6df9b39f120 5 AnalogIn aInn(PA_1);
madmonkeyman82 0:a6df9b39f120 6 DigitalOut Gnd(PA_4);
madmonkeyman82 0:a6df9b39f120 7
madmonkeyman82 0:a6df9b39f120 8
madmonkeyman82 0:a6df9b39f120 9 int main()
madmonkeyman82 0:a6df9b39f120 10 {
madmonkeyman82 0:a6df9b39f120 11 Vcc = 1;
madmonkeyman82 0:a6df9b39f120 12 Gnd = 0;
madmonkeyman82 0:a6df9b39f120 13
madmonkeyman82 0:a6df9b39f120 14 float maxVoltage,minVoltage,voltagePrv;
madmonkeyman82 0:a6df9b39f120 15
madmonkeyman82 0:a6df9b39f120 16 maxVoltage = minVoltage = aInn.read()*3.3f;
madmonkeyman82 0:a6df9b39f120 17
madmonkeyman82 0:a6df9b39f120 18 while(1)
madmonkeyman82 0:a6df9b39f120 19 {
madmonkeyman82 0:a6df9b39f120 20 float voltage;
madmonkeyman82 0:a6df9b39f120 21 for(int i = 0; i < 1000; i++)
madmonkeyman82 0:a6df9b39f120 22 {
madmonkeyman82 0:a6df9b39f120 23 voltage += aInn.read()*3.3f;
madmonkeyman82 0:a6df9b39f120 24 }
madmonkeyman82 0:a6df9b39f120 25
madmonkeyman82 0:a6df9b39f120 26 voltage = voltage/1000;
madmonkeyman82 0:a6df9b39f120 27 if(voltage < voltagePrv - 0.3f || voltage > voltagePrv + 0.3f)
madmonkeyman82 0:a6df9b39f120 28 {
madmonkeyman82 0:a6df9b39f120 29 voltagePrv = voltage;
madmonkeyman82 0:a6df9b39f120 30 if(voltage < minVoltage) minVoltage = voltage;
madmonkeyman82 0:a6df9b39f120 31 if(voltage > maxVoltage)maxVoltage = voltage;
madmonkeyman82 0:a6df9b39f120 32
madmonkeyman82 0:a6df9b39f120 33 printf("VoltIn: %.3f Max: %.3f Min: %.3f Diff: %.3f\r\n", voltage, maxVoltage, minVoltage, maxVoltage-minVoltage);
madmonkeyman82 0:a6df9b39f120 34 }
madmonkeyman82 0:a6df9b39f120 35 // printf("Voltage:\t%.3f \r\n", voltage);
madmonkeyman82 0:a6df9b39f120 36 wait_ms(135);
madmonkeyman82 0:a6df9b39f120 37 }
madmonkeyman82 0:a6df9b39f120 38
madmonkeyman82 0:a6df9b39f120 39
madmonkeyman82 0:a6df9b39f120 40 }