Sistemi_digitali_integrati / Mbed 2 deprecated Sensor

Dependencies:   mbed

Committer:
ymerdushku
Date:
Thu Dec 01 10:03:37 2016 +0000
Revision:
0:f043a4a4ec8d
Child:
1:68e3916ad434
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ymerdushku 0:f043a4a4ec8d 1 #include "mbed.h"
ymerdushku 0:f043a4a4ec8d 2 #include <I2C.h>
ymerdushku 0:f043a4a4ec8d 3
ymerdushku 0:f043a4a4ec8d 4 #define LSM6DS0_ADDRESS_WRITE (0xD4) // Configuration Register_write
ymerdushku 0:f043a4a4ec8d 5 #define LSM6DS0_ADDRESS_READ (0xD5)
ymerdushku 0:f043a4a4ec8d 6
ymerdushku 0:f043a4a4ec8d 7 I2C i2c(I2C_SDA,I2C_SCL);
ymerdushku 0:f043a4a4ec8d 8 Serial pc(SERIAL_TX, SERIAL_RX);
ymerdushku 0:f043a4a4ec8d 9
ymerdushku 0:f043a4a4ec8d 10 int main() {
ymerdushku 0:f043a4a4ec8d 11
ymerdushku 0:f043a4a4ec8d 12 }
ymerdushku 0:f043a4a4ec8d 13
ymerdushku 0:f043a4a4ec8d 14 int setREG_I2C(char REG_ADDR_DATA[2]){ //argument to pass : address register and data to write in
ymerdushku 0:f043a4a4ec8d 15 i2c.start(); //send start bit
ymerdushku 0:f043a4a4ec8d 16 if ((i2c.write(LSM6DS0_ADDRESS_WRITE,REG_ADDR_DATA,2,0))!=0){ //ADDR+SUB+DATA+STOP, return 0 if ack
ymerdushku 0:f043a4a4ec8d 17 pc.printf("Error, not ack\n");
ymerdushku 0:f043a4a4ec8d 18 return 0;
ymerdushku 0:f043a4a4ec8d 19 } else return 1;
ymerdushku 0:f043a4a4ec8d 20 }
ymerdushku 0:f043a4a4ec8d 21
ymerdushku 0:f043a4a4ec8d 22
ymerdushku 0:f043a4a4ec8d 23 char readREG_I2C(char REG_ADDR[1]){ //argument to pass : address register to read
ymerdushku 0:f043a4a4ec8d 24 char data_read[1];
ymerdushku 0:f043a4a4ec8d 25 i2c.start(); //send start bit
ymerdushku 0:f043a4a4ec8d 26 if ((i2c.write(LSM6DS0_ADDRESS_WRITE,REG_ADDR,1,1))==0){ //ADDR+SUB, return 0 if ack
ymerdushku 0:f043a4a4ec8d 27 if((i2c.read(LSM6DS0_ADDRESS_READ,data_read,1,0))==0){} //ADDR+data+STOP, return 0 if ack
ymerdushku 0:f043a4a4ec8d 28 else{
ymerdushku 0:f043a4a4ec8d 29 pc.printf("Error, not ack\n");
ymerdushku 0:f043a4a4ec8d 30 }
ymerdushku 0:f043a4a4ec8d 31 } else{
ymerdushku 0:f043a4a4ec8d 32 pc.printf("Error, not ack\n");
ymerdushku 0:f043a4a4ec8d 33 }
ymerdushku 0:f043a4a4ec8d 34 return data_read[0];
ymerdushku 0:f043a4a4ec8d 35 }