mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-19 16:46:11 -04:00
+ version 0.1.01
+ optimized _read() function for speed based upon numbers from datasheet + some refactoring + added demo2 - delta-read + added demo3 - measure timing
This commit is contained in:
parent
d59d553eb2
commit
2c2316f817
@ -1,7 +1,7 @@
|
||||
//
|
||||
// FILE: MAX31855.cpp
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.00
|
||||
// VERSION: 0.1.01
|
||||
// PURPOSE: MAX31855 - Thermocouple
|
||||
// DATE: 2014-01-01
|
||||
// URL:
|
||||
@ -57,26 +57,18 @@ uint8_t MAX31855::read()
|
||||
return _status;
|
||||
}
|
||||
|
||||
|
||||
uint32_t MAX31855::_read(void)
|
||||
{
|
||||
uint32_t value = 0;
|
||||
|
||||
digitalWrite(_sclk, LOW);
|
||||
delayMicroseconds(1000);
|
||||
digitalWrite(_cs, LOW);
|
||||
delayMicroseconds(1000);
|
||||
|
||||
for (int8_t i=31; i>=0; i--)
|
||||
for (int8_t i = 31; i >= 0; i--)
|
||||
{
|
||||
digitalWrite(_sclk, LOW);
|
||||
delayMicroseconds(1000);
|
||||
|
||||
value <<= 1;
|
||||
if (digitalRead(_miso) == HIGH) value += 1;
|
||||
|
||||
digitalWrite(_sclk, LOW);
|
||||
if ( digitalRead(_miso) ) value += 1;
|
||||
digitalWrite(_sclk, HIGH);
|
||||
delayMicroseconds(1000);
|
||||
}
|
||||
|
||||
digitalWrite(_cs, HIGH);
|
||||
|
@ -3,7 +3,7 @@
|
||||
//
|
||||
// FILE: MAX31855.h
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.00
|
||||
// VERSION: 0.1.01
|
||||
// PURPOSE: MAX31855 - Thermocouple
|
||||
// DATE: 2014-01-01
|
||||
// URL:
|
||||
@ -17,7 +17,7 @@
|
||||
#include "Arduino.h"
|
||||
#endif
|
||||
|
||||
#define MAX31855_VERSION "0.1.00"
|
||||
#define MAX31855_VERSION "0.1.01"
|
||||
|
||||
#define STATUS_OK 0x00
|
||||
#define STATUS_OPEN_CIRCUIT 0x01
|
||||
@ -47,3 +47,5 @@ private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
// END OF FILE
|
@ -0,0 +1,43 @@
|
||||
//
|
||||
// FILE: max31855_demo2.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.01
|
||||
// PURPOSE: thermocouple lib demo application
|
||||
// DATE: 2014-01-02
|
||||
// URL:
|
||||
//
|
||||
// Released to the public domain
|
||||
//
|
||||
|
||||
#include "MAX31855.h"
|
||||
|
||||
const int doPin = 7;
|
||||
const int csPin = 6;
|
||||
const int clPin = 5;
|
||||
|
||||
MAX31855 tc(clPin, csPin, doPin);
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
Serial.print("Start max31855_demo: ");
|
||||
Serial.println(MAX31855_VERSION);
|
||||
Serial.println();
|
||||
|
||||
tc.begin();
|
||||
tc.read();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
float t1 = tc.getTemperature();
|
||||
delay(1000);
|
||||
tc.read();
|
||||
float t2 = tc.getTemperature();
|
||||
Serial.print("delta:\t");
|
||||
Serial.println(t2-t1, 2);
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,57 @@
|
||||
//
|
||||
// FILE: max31855_demo2.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.01
|
||||
// PURPOSE: thermocouple lib demo application
|
||||
// DATE: 2014-01-02
|
||||
// URL:
|
||||
//
|
||||
// Released to the public domain
|
||||
//
|
||||
|
||||
#include "MAX31855.h"
|
||||
|
||||
const int doPin = 7;
|
||||
const int csPin = 6;
|
||||
const int clPin = 5;
|
||||
|
||||
MAX31855 tc(clPin, csPin, doPin);
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
Serial.print("Start max31855_demo: ");
|
||||
Serial.println(MAX31855_VERSION);
|
||||
Serial.println();
|
||||
|
||||
tc.begin();
|
||||
|
||||
uint32_t start = micros();
|
||||
tc.read();
|
||||
uint32_t stop = micros();
|
||||
Serial.print("read:\t");
|
||||
Serial.println(stop - start);
|
||||
|
||||
start = micros();
|
||||
float t1 = tc.getTemperature();
|
||||
stop = micros();
|
||||
Serial.print("getTemperature:\t");
|
||||
Serial.println(stop - start);
|
||||
|
||||
start = micros();
|
||||
tc.getInternal();
|
||||
stop = micros();
|
||||
Serial.print("getInternal:\t");
|
||||
Serial.println(stop - start);
|
||||
|
||||
Serial.println(t1,2);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user