位置情報を知るための電圧値を表示させる

Dependencies:   mbed

Committer:
sayan2
Date:
Sat Mar 14 15:59:03 2020 +0000
Revision:
2:d665c2b3e24f
Parent:
1:c3989f45366c
output Average of V

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sayan2 0:aaea4a22c294 1 #include "mbed.h"
sayan2 0:aaea4a22c294 2
sayan2 0:aaea4a22c294 3 SPI mySPI(D11, D12, A4); // mosi, miso, sclk
sayan2 0:aaea4a22c294 4 DigitalOut cs(D10);
sayan2 0:aaea4a22c294 5 Serial pc(USBTX, USBRX); // tx, rx
sayan2 2:d665c2b3e24f 6 double Vref = 5.0 ;
sayan2 0:aaea4a22c294 7
sayan2 0:aaea4a22c294 8 int main(){
sayan2 2:d665c2b3e24f 9 cs=1;
sayan2 2:d665c2b3e24f 10 mySPI.format(8,0); //Setup the spi for 10 bit data, spi mode 0
sayan2 2:d665c2b3e24f 11 mySPI.frequency(1000000); // second edge capture, with a 1MHz clock rate
sayan2 2:d665c2b3e24f 12
sayan2 2:d665c2b3e24f 13 int n=20; //size of "n" TBD
sayan2 2:d665c2b3e24f 14 int i;
sayan2 2:d665c2b3e24f 15 double sum_volts;
sayan2 2:d665c2b3e24f 16
sayan2 0:aaea4a22c294 17 while (1){
sayan2 2:d665c2b3e24f 18 for(i=0;i<n;i++){
sayan2 2:d665c2b3e24f 19 cs=0;
sayan2 1:c3989f45366c 20
sayan2 2:d665c2b3e24f 21 int highByte = mySPI.write(0b01101000); //Send the command to recieve the slave data
sayan2 2:d665c2b3e24f 22 //pc.printf("highByte: %d ",highByte);
sayan2 2:d665c2b3e24f 23
sayan2 2:d665c2b3e24f 24 int lowByte = mySPI.write(0xFF); // send dummy byte to receive the slave data
sayan2 2:d665c2b3e24f 25 //pc.printf("lowByte: %d ",lowByte);
sayan2 1:c3989f45366c 26
sayan2 2:d665c2b3e24f 27 int wasteByte = mySPI.write(0x00);
sayan2 1:c3989f45366c 28
sayan2 2:d665c2b3e24f 29 cs=1;
sayan2 0:aaea4a22c294 30
sayan2 2:d665c2b3e24f 31 int dataCh0 = ((highByte << 8) + lowByte) & 0x03FF;
sayan2 2:d665c2b3e24f 32 double volts = dataCh0*Vref / 1024;
sayan2 2:d665c2b3e24f 33
sayan2 2:d665c2b3e24f 34 sum_volts = sum_volts + volts;
sayan2 0:aaea4a22c294 35 }
sayan2 2:d665c2b3e24f 36
sayan2 2:d665c2b3e24f 37 double ave_volts = sum_volts / n ; //get the average to reduce the error range
sayan2 2:d665c2b3e24f 38 pc.printf("CH0 %f V\n",ave_volts);
sayan2 2:d665c2b3e24f 39
sayan2 2:d665c2b3e24f 40 sum_volts = 0.0; //initialize
sayan2 2:d665c2b3e24f 41
sayan2 2:d665c2b3e24f 42 wait(3); //TBD
sayan2 2:d665c2b3e24f 43 }
sayan2 0:aaea4a22c294 44 }