Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Accelerometro_SerialPlot.cpp@1:dc6884f965e1, 2021-11-03 (annotated)
- Committer:
- domemort
- Date:
- Wed Nov 03 15:35:25 2021 +0000
- Revision:
- 1:dc6884f965e1
-
Who changed what in which revision?
| User | Revision | Line number | New 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 |