mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
54 lines
931 B
Arduino
54 lines
931 B
Arduino
|
//
|
||
|
// FILE: SHT31_I2Cspeed
|
||
|
// AUTHOR: Rob Tillaart
|
||
|
// VERSION: 0.0.1
|
||
|
// PURPOSE: demo
|
||
|
//
|
||
|
// HISTORY:
|
||
|
|
||
|
#include "Wire.h"
|
||
|
#include "SHT31.h"
|
||
|
|
||
|
uint32_t start;
|
||
|
uint32_t stop;
|
||
|
|
||
|
SHT31 sht;
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
Serial.begin(115200);
|
||
|
Serial.println(__FILE__);
|
||
|
Serial.print("SHT31_LIB_VERSION: \t");
|
||
|
Serial.println(SHT31_LIB_VERSION);
|
||
|
|
||
|
Wire.begin();
|
||
|
sht.begin(0x44);
|
||
|
Wire.setClock(100000);
|
||
|
uint16_t stat = sht.readStatus();
|
||
|
Serial.print(stat, HEX);
|
||
|
}
|
||
|
|
||
|
void loop()
|
||
|
{
|
||
|
for (uint32_t I2Cfreq = 100000; I2Cfreq < 900000; I2Cfreq += 50000)
|
||
|
{
|
||
|
Serial.print(I2Cfreq/1000);
|
||
|
Wire.setClock(I2Cfreq);
|
||
|
test();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
void test()
|
||
|
{
|
||
|
start = micros();
|
||
|
sht.read(true); // default = true/fast slow = false
|
||
|
stop = micros();
|
||
|
Serial.print("\t");
|
||
|
Serial.print(stop - start);
|
||
|
Serial.print("\t");
|
||
|
Serial.print(sht.temperature, 1);
|
||
|
Serial.print("\t");
|
||
|
Serial.println(sht.humidity, 1);
|
||
|
delay(100);
|
||
|
}
|