MPL3115A2

Dependencies:   MPL3115A2 mbed

Fork of SPI_HelloWorld_Mbed by mbed official

/media/uploads/ODEM/dsc01135.png

Mit dem XTRINSIC-SENSE Board von element14 wird der Sensor MPL3115 ausgelesen.

mbedXTRINSIC-SENSE Board
VOUT 3.3vCN2->3.3v (1)
GNDCN2->SCL (3)
pin9 sdaCN3->SDA (3)
pin10 sclCN3->SCL (5)

Datenblatt Board: /media/uploads/ODEM/xtrinsic-sense_user_manual_v0_5.pdf

Datenblatt Sensor: /media/uploads/ODEM/mpl3115a2.pdf

Committer:
ODEM
Date:
Wed Jun 14 13:49:06 2017 +0000
Revision:
2:29e536aabd5b
Parent:
1:a5921d978d61
Child:
3:3da5bf0df3ab
v1.0 I2c not working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ODEM 2:29e536aabd5b 1 // Read from I2C slave at address 0x62
ODEM 2:29e536aabd5b 2
mbed_official 0:466ad3f38b6b 3 #include "mbed.h"
ODEM 2:29e536aabd5b 4
ODEM 2:29e536aabd5b 5 I2C i2c(p9, p10);
ODEM 2:29e536aabd5b 6 int SlaveAddress = 0xc0;
ODEM 2:29e536aabd5b 7 //set to Altimeter
ODEM 2:29e536aabd5b 8 int SetA1 = 0x26;
ODEM 2:29e536aabd5b 9 int SetA2 = 0xB8;
ODEM 2:29e536aabd5b 10 //enable data flag
ODEM 2:29e536aabd5b 11 int flag1 = 0x13;
ODEM 2:29e536aabd5b 12 int flag2 = 0x07;
ODEM 2:29e536aabd5b 13 //Set Active
ODEM 2:29e536aabd5b 14 int active1 = 0x26;
ODEM 2:29e536aabd5b 15 int active2 = 0xB9;
ODEM 2:29e536aabd5b 16 //read status register
ODEM 2:29e536aabd5b 17 int status1 = 0x00;
ODEM 2:29e536aabd5b 18
ODEM 2:29e536aabd5b 19
ODEM 2:29e536aabd5b 20 //
ODEM 2:29e536aabd5b 21 int OUT_P_MSB=0;
ODEM 2:29e536aabd5b 22 char data_OUT_P_MSB[1];
ODEM 2:29e536aabd5b 23 char STA;
ODEM 2:29e536aabd5b 24
ODEM 2:29e536aabd5b 25
ODEM 2:29e536aabd5b 26
ODEM 2:29e536aabd5b 27 /******************************main**********************************/
ODEM 2:29e536aabd5b 28 int main()
ODEM 2:29e536aabd5b 29 {
ODEM 2:29e536aabd5b 30 char data_OUT_P_MSB[1];
ODEM 2:29e536aabd5b 31 data_OUT_P_MSB[0] = 0x01;
ODEM 2:29e536aabd5b 32
ODEM 2:29e536aabd5b 33 //cmd = 0x60;
ODEM 2:29e536aabd5b 34
ODEM 2:29e536aabd5b 35 char data[2];
ODEM 2:29e536aabd5b 36 data[0]=SetA1;
ODEM 2:29e536aabd5b 37 data[1]=SetA2;
ODEM 2:29e536aabd5b 38
ODEM 2:29e536aabd5b 39 char flags[2];
ODEM 2:29e536aabd5b 40 flags[0]=flag1;
ODEM 2:29e536aabd5b 41 flags[1]=flag2;
ODEM 2:29e536aabd5b 42
ODEM 2:29e536aabd5b 43 char active[2];
ODEM 2:29e536aabd5b 44 active[0]=active1;
ODEM 2:29e536aabd5b 45 active[1]=active2;
mbed_official 0:466ad3f38b6b 46
ODEM 2:29e536aabd5b 47 char status [1];
ODEM 2:29e536aabd5b 48 status[0]=status1;
ODEM 2:29e536aabd5b 49 char cmd[2];
ODEM 2:29e536aabd5b 50 const int addr = 0xc1;
ODEM 2:29e536aabd5b 51
ODEM 2:29e536aabd5b 52 // wait(0.1);
ODEM 2:29e536aabd5b 53 //WRITE
ODEM 2:29e536aabd5b 54 //set to Altimeter
ODEM 2:29e536aabd5b 55 i2c.write(SlaveAddress, data, 2);
ODEM 2:29e536aabd5b 56 //enable data flag
ODEM 2:29e536aabd5b 57 i2c.write(SlaveAddress, flags, 2);
ODEM 2:29e536aabd5b 58 //Set Active
ODEM 2:29e536aabd5b 59 i2c.write(SlaveAddress, active, 2);
ODEM 2:29e536aabd5b 60
ODEM 2:29e536aabd5b 61 while(1) {
ODEM 2:29e536aabd5b 62
ODEM 2:29e536aabd5b 63 /*//READ
ODEM 2:29e536aabd5b 64 //read status register
ODEM 2:29e536aabd5b 65 STA=i2c.read(SlaveAddress, status, 2,false);
ODEM 2:29e536aabd5b 66
ODEM 2:29e536aabd5b 67
ODEM 2:29e536aabd5b 68 if (STA&&0x08==1) {
ODEM 2:29e536aabd5b 69 OUT_P_MSB=i2c.read(SlaveAddress, data_OUT_P_MSB, 1);
ODEM 2:29e536aabd5b 70 }
ODEM 2:29e536aabd5b 71
ODEM 2:29e536aabd5b 72
ODEM 2:29e536aabd5b 73 printf("data= %04X\n", OUT_P_MSB);
ODEM 2:29e536aabd5b 74 printf("data= %d\n", STA);*/
ODEM 2:29e536aabd5b 75
ODEM 2:29e536aabd5b 76 cmd[0] = 0x01;
ODEM 2:29e536aabd5b 77 cmd[1] = 0x00;
ODEM 2:29e536aabd5b 78 i2c.write(addr, cmd, 2);
mbed_official 0:466ad3f38b6b 79
ODEM 2:29e536aabd5b 80 wait(0.5);
ODEM 2:29e536aabd5b 81 cmd[0] = 0x00;
ODEM 2:29e536aabd5b 82 i2c.write(addr, cmd, 1);
ODEM 2:29e536aabd5b 83 i2c.read(addr, cmd, 2);
ODEM 2:29e536aabd5b 84 printf("Temp = %d\n", cmd);
ODEM 2:29e536aabd5b 85 float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0);
ODEM 2:29e536aabd5b 86 printf("Temp = %.2f\n", tmp);
ODEM 2:29e536aabd5b 87 }
ODEM 2:29e536aabd5b 88 }
ODEM 2:29e536aabd5b 89
ODEM 2:29e536aabd5b 90
ODEM 2:29e536aabd5b 91