Domenico Vitale / Mbed 2 deprecated Accelerometro

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
domemort
Date:
Wed Nov 03 15:35:25 2021 +0000
Parent:
0:e9410807b683
Commit message:
-

Changed in this revision

Accelerometro.cpp Show annotated file Show diff for this revision Revisions of this file
Accelerometro_SerialPlot.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Accelerometro.cpp	Wed Nov 03 15:35:25 2021 +0000
@@ -0,0 +1,40 @@
+#include "mbed.h"
+
+SPI           acc(D11, D12, D13);
+DigitalOut    cs(D7);
+
+Serial        pc(USBTX, USBRX);
+char          buffer[6];
+int16_t       data[3];
+float         x,y,z;
+
+int main(){
+    cs=1;
+    acc.format(8,3);
+    acc.frequency(2000000);
+    cs=0;
+    acc.write(0x31);
+    acc.write(0x0B);
+    cs=1;
+    cs=0;
+    acc.write(0x2D);
+    acc.write(0x08);
+    cs=1;
+       while (1){
+         wait(1);
+         cs=0;
+         acc.write(0x80|0x40|0x32);
+         for (int i=0; i<=5; i++){
+             buffer[i]=acc.write(0x00);
+             }
+    cs=1;
+    data[0] = buffer[1]<<8 | buffer[0];
+    data[1] = buffer[3]<<8 | buffer[2];
+    data[2] = buffer[5]<<8 | buffer[4];
+    x = 0.004*data[0]; 
+    y = 0.004*data[1];
+    z = 0.004*data[2];
+    
+    pc.printf("ax=%1.2fg\t  ay=%1.2fg\t az=%1.2fg\n\r", x, y, z);
+      }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Accelerometro_SerialPlot.cpp	Wed Nov 03 15:35:25 2021 +0000
@@ -0,0 +1,56 @@
+#include "mbed.h"
+
+SPI           acc(D11, D12, D13);
+DigitalOut    cs(D7);
+
+Serial        pc(USBTX, USBRX);
+char          buffer[6];
+int16_t       data[3];
+float         x,y,z;
+unsigned char *chptr;
+
+void sendFloat(float);
+
+int main(){
+    pc.baud(115200);
+    cs=1;
+    acc.format(8,3);
+    acc.frequency(2000000);
+    cs=0;
+    acc.write(0x31);
+    acc.write(0x0B);
+    cs=1;
+    cs=0;
+    acc.write(0x2D);
+    acc.write(0x08);
+    cs=1;
+       while (1){
+         wait(0.01);
+         cs=0;
+         acc.write(0x80|0x40|0x32);
+         for (int i=0; i<=5; i++){
+             buffer[i]=acc.write(0x00);
+             }
+    cs=1;
+    data[0] = buffer[1]<<8 | buffer[0];
+    data[1] = buffer[3]<<8 | buffer[2];
+    data[2] = buffer[5]<<8 | buffer[4];
+    x = 0.004*data[0]; 
+    y = 0.004*data[1];
+    z = 0.004*data[2];
+    
+    pc.putc(0xAA);
+    pc.putc(0xBB);
+    sendFloat(x);
+    sendFloat(y);
+    sendFloat(z);
+      }
+}
+
+
+void sendFloat (float value){
+    chptr = (unsigned char*) &value;
+    for (int i=0; i<4; i++)
+    pc.putc(*(chptr+i));
+    }
+
--- a/main.cpp	Tue Nov 02 08:13:07 2021 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#include "mbed.h"
-
-SPI           acc(D11, D12, D13);
-DigitalOut    cs(D7);
-
-Serial        pc(USBTX, USBRX);
-char          buffer[6];
-int16_t       data[3];
-float         x,y,z;
-
-int main(){
-    cs=1;
-    acc.format(8,3);
-    acc.frequency(2000000);
-    cs=0;
-    acc.write(0x31);
-    acc.write(0x0B);
-    cs=1;
-    cs=0;
-    acc.write(0x2D);
-    acc.write(0x08);
-    cs=1;
-       while (1){
-         wait(1);
-         cs=0;
-         acc.write(0x80|0x40|0x32);
-         for (int i=0; i<=5; i++){
-             buffer[i]=acc.write(0x00);
-             }
-    cs=1;
-    data[0] = buffer[1]<<8 | buffer[0];
-    data[1] = buffer[3]<<8 | buffer[2];
-    data[2] = buffer[5]<<8 | buffer[4];
-    x = 0.004*data[0]; 
-    y = 0.004*data[1];
-    z = 0.004*data[2];
-    
-    pc.printf("ax=%1.2fg\t  ay=%1.2fg\t az=%1.2fg\n\r", x, y, z);
-      }
-}