
Minimal working example to demonstrate I2C with SI7021 sensor
Dependencies: BLE_API mbed nRF51822
Revision 2:fd94a7e87ac5, committed 2016-12-10
- Comitter:
- ghost22
- Date:
- Sat Dec 10 16:17:12 2016 +0000
- Parent:
- 1:bca7ac3aedac
- Commit message:
- Fix of I2C
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Dec 09 17:04:02 2016 +0100 +++ b/main.cpp Sat Dec 10 16:17:12 2016 +0000 @@ -67,13 +67,10 @@ uint16_t rhcode=0; Wire.beginTransmission(DEV_ADDR); - // Here should be standing 0xE5 or 0xF5 - Wire.write(0xE3); -// wait(1); - Wire.beginTransmission(DEV_ADDR); - Wire.write( 0x00 ); - Wire.write( 0x00 ); - Wire.write( 0x00 ); + + Wire.write(0xE5); + + Wire.endTransmission(0); Wire.requestFrom(DEV_ADDR+1, 3); @@ -90,9 +87,6 @@ checksum = Wire.read(); } - Wire.endTransmission(); - - rhcode = (((msbyte*256.0)+lsbyte)*125.0/65536.0-6.0)*100.0; if(rhcode<=0) @@ -112,13 +106,10 @@ int16_t checksum=0; Wire.beginTransmission(DEV_ADDR); - // Here should be standing 0xE3 or 0xF3 - Wire.write(0xE5); -// wait(1); - Wire.beginTransmission(DEV_ADDR); - Wire.write( 0x00 ); - Wire.write( 0x00 ); - Wire.write( 0x00 ); + + Wire.write(0xE3); + + Wire.endTransmission(0); Wire.requestFrom(DEV_ADDR+1, 3); @@ -135,7 +126,6 @@ checksum = Wire.read(); } - Wire.endTransmission(); return (((msbyte*256.0)+lsbyte)*175.72/65536.0-46.85)*100.0; }