Code based on demo code sent by www.aosong.com no further documentation. 0x1B returned 18, 0, 4 0x1C returned 18, 65, 0 0x1E returned 18, 8, 0 18 seems to be status register other values unknown.
| 310 | // 18 seems to be status register |
| 311 | // other values unknown. |
| 312 | bool DHT20::_resetRegister(uint8_t reg) |
| 313 | { |
| 314 | uint8_t value[3]; |
| 315 | _wire->beginTransmission(DHT20_ADDRESS); |
| 316 | _wire->write(reg); |
| 317 | _wire->write(0x00); |
| 318 | _wire->write(0x00); |
| 319 | if (_wire->endTransmission() != 0) return false; |
| 320 | delay(5); |
| 321 | |
| 322 | int bytes = _wire->requestFrom(DHT20_ADDRESS, (uint8_t)3); |
| 323 | for (int i = 0; i < bytes; i++) |
| 324 | { |
| 325 | value[i] = _wire->read(); |
| 326 | // Serial.println(value[i], HEX); |
| 327 | } |
| 328 | delay(10); |
| 329 | |
| 330 | _wire->beginTransmission(DHT20_ADDRESS); |
| 331 | _wire->write(0xB0 | reg); |
| 332 | _wire->write(value[1]); |
| 333 | _wire->write(value[2]); |
| 334 | if (_wire->endTransmission() != 0) return false; |
| 335 | delay(5); |
| 336 | return true; |
| 337 | } |
| 338 | |
| 339 | |
| 340 | // -- END OF FILE -- |