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.
main.cpp@0:a9e068e17f41, 2022-04-25 (annotated)
- Committer:
- fernando_moraless
- Date:
- Mon Apr 25 05:54:46 2022 +0000
- Revision:
- 0:a9e068e17f41
- Child:
- 1:936a1850d885
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| fernando_moraless | 0:a9e068e17f41 | 1 | //CÓDIGO 1-A |
| fernando_moraless | 0:a9e068e17f41 | 2 | |
| fernando_moraless | 0:a9e068e17f41 | 3 | #include "mbed.h" |
| fernando_moraless | 0:a9e068e17f41 | 4 | #include "MMA8451Q.h" |
| fernando_moraless | 0:a9e068e17f41 | 5 | #include "stdio.h" |
| fernando_moraless | 0:a9e068e17f41 | 6 | #include "stdlib.h" |
| fernando_moraless | 0:a9e068e17f41 | 7 | |
| fernando_moraless | 0:a9e068e17f41 | 8 | #define MMA8451_I2C_ADDRESS (0x1d << 1) |
| fernando_moraless | 0:a9e068e17f41 | 9 | Serial pc(USBTX, USBRX); |
| fernando_moraless | 0:a9e068e17f41 | 10 | |
| fernando_moraless | 0:a9e068e17f41 | 11 | |
| fernando_moraless | 0:a9e068e17f41 | 12 | #define BUFFER_SIZE 50 |
| fernando_moraless | 0:a9e068e17f41 | 13 | #define SLAVE_ADDR 0xA0 |
| fernando_moraless | 0:a9e068e17f41 | 14 | I2C master(I2C_SDA, I2C_SCL); |
| fernando_moraless | 0:a9e068e17f41 | 15 | |
| fernando_moraless | 0:a9e068e17f41 | 16 | |
| fernando_moraless | 0:a9e068e17f41 | 17 | |
| fernando_moraless | 0:a9e068e17f41 | 18 | int main(void) |
| fernando_moraless | 0:a9e068e17f41 | 19 | { |
| fernando_moraless | 0:a9e068e17f41 | 20 | master.frequency (100000); |
| fernando_moraless | 0:a9e068e17f41 | 21 | pc.printf("\x1b[2J"); //CLEAR |
| fernando_moraless | 0:a9e068e17f41 | 22 | pc.printf("\r"); //Mueve cursor al origen |
| fernando_moraless | 0:a9e068e17f41 | 23 | pc.printf("MASTER\r\n"); |
| fernando_moraless | 0:a9e068e17f41 | 24 | |
| fernando_moraless | 0:a9e068e17f41 | 25 | char buf[BUFFER_SIZE]; |
| fernando_moraless | 0:a9e068e17f41 | 26 | |
| fernando_moraless | 0:a9e068e17f41 | 27 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
| fernando_moraless | 0:a9e068e17f41 | 28 | // SDA SCL DIRECCIÓN |
| fernando_moraless | 0:a9e068e17f41 | 29 | |
| fernando_moraless | 0:a9e068e17f41 | 30 | PwmOut rled(LED1); |
| fernando_moraless | 0:a9e068e17f41 | 31 | PwmOut gled(LED2); |
| fernando_moraless | 0:a9e068e17f41 | 32 | PwmOut bled(LED3); |
| fernando_moraless | 0:a9e068e17f41 | 33 | |
| fernando_moraless | 0:a9e068e17f41 | 34 | if (master.read(SLAVE_ADDR, buf, BUFFER_SIZE) == 0) { |
| fernando_moraless | 0:a9e068e17f41 | 35 | pc.printf("CONECTADO %s\r\n", buf); |
| fernando_moraless | 0:a9e068e17f41 | 36 | } |
| fernando_moraless | 0:a9e068e17f41 | 37 | |
| fernando_moraless | 0:a9e068e17f41 | 38 | float x, y, z; |
| fernando_moraless | 0:a9e068e17f41 | 39 | |
| fernando_moraless | 0:a9e068e17f41 | 40 | while (true) { |
| fernando_moraless | 0:a9e068e17f41 | 41 | |
| fernando_moraless | 0:a9e068e17f41 | 42 | x = abs(acc.getAccX()); |
| fernando_moraless | 0:a9e068e17f41 | 43 | y = abs(acc.getAccY()); |
| fernando_moraless | 0:a9e068e17f41 | 44 | z = abs(acc.getAccZ()); |
| fernando_moraless | 0:a9e068e17f41 | 45 | |
| fernando_moraless | 0:a9e068e17f41 | 46 | rled = 1.0f - x; |
| fernando_moraless | 0:a9e068e17f41 | 47 | gled = 1.0f - y; |
| fernando_moraless | 0:a9e068e17f41 | 48 | bled = 1.0f - z; |
| fernando_moraless | 0:a9e068e17f41 | 49 | |
| fernando_moraless | 0:a9e068e17f41 | 50 | sprintf(buf, "%1.2f, %1.2f, %1.2f", x, y, z); |
| fernando_moraless | 0:a9e068e17f41 | 51 | pc.printf("%s\r\n", buf); |
| fernando_moraless | 0:a9e068e17f41 | 52 | if (master.write(SLAVE_ADDR, buf, BUFFER_SIZE) == 0) |
| fernando_moraless | 0:a9e068e17f41 | 53 | { |
| fernando_moraless | 0:a9e068e17f41 | 54 | wait(0.2); |
| fernando_moraless | 0:a9e068e17f41 | 55 | pc.printf("Written to slave: %s\r\n", buf); |
| fernando_moraless | 0:a9e068e17f41 | 56 | } |
| fernando_moraless | 0:a9e068e17f41 | 57 | |
| fernando_moraless | 0:a9e068e17f41 | 58 | wait(1); |
| fernando_moraless | 0:a9e068e17f41 | 59 | |
| fernando_moraless | 0:a9e068e17f41 | 60 | if (master.write(SLAVE_ADDR, buf, BUFFER_SIZE) == 0) |
| fernando_moraless | 0:a9e068e17f41 | 61 | { |
| fernando_moraless | 0:a9e068e17f41 | 62 | wait(0.2); |
| fernando_moraless | 0:a9e068e17f41 | 63 | pc.printf("Written to slave: %s\r\n", buf); |
| fernando_moraless | 0:a9e068e17f41 | 64 | } |
| fernando_moraless | 0:a9e068e17f41 | 65 | |
| fernando_moraless | 0:a9e068e17f41 | 66 | |
| fernando_moraless | 0:a9e068e17f41 | 67 | } |
| fernando_moraless | 0:a9e068e17f41 | 68 | } |