Equipo7 LabMicros / Mbed 2 deprecated I2C_3A

Dependencies:   mbed MMA8451Q

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?

UserRevisionLine numberNew 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 }