Maxim MAX6675 Cold-Junction-Compensated K-Thermocoupleto-Digital Converter (0°C to +1024°C) os2 and os5

Dependents:   proyectoprueba3 proyectoRTOS proyectoRTOS2 proyectoRTOS ... more

max6675.cpp

Committer:
star297
Date:
2020-04-27
Revision:
2:74731b8476a0
Parent:
0:7c1c768af92a

File content as of revision 2:74731b8476a0:


#include "max6675.h"

max6675::max6675(PinName miso, PinName sclk, PinName cs) :
    max(NC, miso, sclk), _cs(cs)
{
    max.format(16,1);   // set 16 bit SPI format
    max.frequency(400000);
}

float max6675::gettemp(int cf)
{
    float temp  = 0;
    int tempByte= 0;
    
    _cs = 0;
    wait_us(1);     // wait to stablize
    tempByte  =  max.write(0);
    wait_us(1);     // wait to finish
    _cs = 1;

    if (tempByte & (1<<2)) { // faulty or no sensor connected
        return -99;
    } else {
        temp = (tempByte)/32.0f;
    }
    if(cf) {
        temp = (temp*9.0f/5.0f) + 32.0f; // Convert value to ˚F
    }
    return temp;
}