A simple example adopting SHT21 Arduino library to mbed.

Dependencies:   mbed

Revision:
1:f4a1942b4486
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SHT21.hpp	Wed Sep 13 13:36:04 2017 +0000
@@ -0,0 +1,39 @@
+#ifndef SHT21_HPP_INCLUDED
+#define  SHT21_HPP_INCLUDED
+
+#include "mbed.h"
+
+class SHT21 {
+public:
+    SHT21(PinName sda, PinName scl, char addr = (0x40 << 1));
+    SHT21(I2C &i2c,  char addr = (0x40 << 1));
+    
+    float temperature();
+    float humidity();
+    
+    void reset();
+    void serialNumber(uint8_t *serialNumber);
+    
+    ~SHT21();
+private:
+    enum commands {
+        TRIGGER_T_MEASUREMENT_HM    = 0xE3,
+        TRIGGER_RH_MEASUREMENT_HM   = 0xE5,
+        TRIGGER_T_MEASUREMENT_NHM   = 0xF3,
+        TRIGGER_RH_MEASUREMENT_NHM  = 0xF5,
+        USER_REGISTER_W             = 0xE6,
+        USER_REGISTER_R             = 0xE7,
+        SOFT_RESET                  = 0xFE
+    };
+
+    static const uint16_t POLYNOMIAL;
+
+    char addr_;
+    I2C *pi2c_;
+    I2C &i2c_;
+    
+    uint16_t readRaw(uint8_t cmd);
+    static bool crcChecksum(const uint8_t *data, uint8_t sz, uint8_t checksum);
+};
+
+#endif // SHT21_HPP_INCLUDED