Domenico Vitale / Mbed 2 deprecated Accelerometro

Dependencies:   mbed

Committer:
domemort
Date:
Wed Nov 03 15:35:25 2021 +0000
Revision:
1:dc6884f965e1
-

Who changed what in which revision?

UserRevisionLine numberNew contents of line
domemort 1:dc6884f965e1 1 #include "mbed.h"
domemort 1:dc6884f965e1 2
domemort 1:dc6884f965e1 3 SPI acc(D11, D12, D13);
domemort 1:dc6884f965e1 4 DigitalOut cs(D7);
domemort 1:dc6884f965e1 5
domemort 1:dc6884f965e1 6 Serial pc(USBTX, USBRX);
domemort 1:dc6884f965e1 7 char buffer[6];
domemort 1:dc6884f965e1 8 int16_t data[3];
domemort 1:dc6884f965e1 9 float x,y,z;
domemort 1:dc6884f965e1 10 unsigned char *chptr;
domemort 1:dc6884f965e1 11
domemort 1:dc6884f965e1 12 void sendFloat(float);
domemort 1:dc6884f965e1 13
domemort 1:dc6884f965e1 14 int main(){
domemort 1:dc6884f965e1 15 pc.baud(115200);
domemort 1:dc6884f965e1 16 cs=1;
domemort 1:dc6884f965e1 17 acc.format(8,3);
domemort 1:dc6884f965e1 18 acc.frequency(2000000);
domemort 1:dc6884f965e1 19 cs=0;
domemort 1:dc6884f965e1 20 acc.write(0x31);
domemort 1:dc6884f965e1 21 acc.write(0x0B);
domemort 1:dc6884f965e1 22 cs=1;
domemort 1:dc6884f965e1 23 cs=0;
domemort 1:dc6884f965e1 24 acc.write(0x2D);
domemort 1:dc6884f965e1 25 acc.write(0x08);
domemort 1:dc6884f965e1 26 cs=1;
domemort 1:dc6884f965e1 27 while (1){
domemort 1:dc6884f965e1 28 wait(0.01);
domemort 1:dc6884f965e1 29 cs=0;
domemort 1:dc6884f965e1 30 acc.write(0x80|0x40|0x32);
domemort 1:dc6884f965e1 31 for (int i=0; i<=5; i++){
domemort 1:dc6884f965e1 32 buffer[i]=acc.write(0x00);
domemort 1:dc6884f965e1 33 }
domemort 1:dc6884f965e1 34 cs=1;
domemort 1:dc6884f965e1 35 data[0] = buffer[1]<<8 | buffer[0];
domemort 1:dc6884f965e1 36 data[1] = buffer[3]<<8 | buffer[2];
domemort 1:dc6884f965e1 37 data[2] = buffer[5]<<8 | buffer[4];
domemort 1:dc6884f965e1 38 x = 0.004*data[0];
domemort 1:dc6884f965e1 39 y = 0.004*data[1];
domemort 1:dc6884f965e1 40 z = 0.004*data[2];
domemort 1:dc6884f965e1 41
domemort 1:dc6884f965e1 42 pc.putc(0xAA);
domemort 1:dc6884f965e1 43 pc.putc(0xBB);
domemort 1:dc6884f965e1 44 sendFloat(x);
domemort 1:dc6884f965e1 45 sendFloat(y);
domemort 1:dc6884f965e1 46 sendFloat(z);
domemort 1:dc6884f965e1 47 }
domemort 1:dc6884f965e1 48 }
domemort 1:dc6884f965e1 49
domemort 1:dc6884f965e1 50
domemort 1:dc6884f965e1 51 void sendFloat (float value){
domemort 1:dc6884f965e1 52 chptr = (unsigned char*) &value;
domemort 1:dc6884f965e1 53 for (int i=0; i<4; i++)
domemort 1:dc6884f965e1 54 pc.putc(*(chptr+i));
domemort 1:dc6884f965e1 55 }
domemort 1:dc6884f965e1 56