= MAX665 = == MAX6675.pde == {{{ #!c #include "SPI.h" #define VCC 8 #define GND 9 #define SLAVE 10 void setup() { pinMode(GND, OUTPUT); pinMode(VCC, OUTPUT); digitalWrite(GND, LOW); digitalWrite(VCC, HIGH); Serial.begin(9600); SPI_Master.begin(SLAVE); } void loop() { int value; delay(500); SPI_Master.enable(SLAVE); value = SPI_Master.read() << 8; value |= SPI_Master.read(); SPI_Master.disable(); if ((value & 0x0004) != 0) Serial.println("Error"); else Serial.println((value >> 3) * 0.25); } }}} == SPI.cpp == {{{ #!c #include "SPI.h" boolean SPI_Master_Class::initialized_ = false; int SPI_Master_Class::enabled_ = -1; void SPI_Master_Class::begin(int slaveselecter) { if (!initialized_) { initialized_ = true; enabled_ = -1; pinMode(SS, OUTPUT); // Must be set as OUTPUT before SPE is asserted. pinMode(MOSI, OUTPUT); pinMode(MISO, INPUT); digitalWrite(MISO, HIGH); // Pull-up pinMode(SCK, OUTPUT); SPCR = (1<= 0) { digitalWrite(enabled_, HIGH); enabled_ = -1; } } byte SPI_Master_Class::write_and_read(byte data) const { SPDR = data; while (!(SPSR & (1<