Bryan Edelman
/
ADT7310
ADT7310 SPI Temperature Sensor
main.cpp
- Committer:
- pillsburydoughboy
- Date:
- 2010-03-04
- Revision:
- 0:9bc294b44806
File content as of revision 0:9bc294b44806:
#include "mbed.h" SPI spi(p11, p12, p13); // mosi, miso, sclk DigitalOut temp_cs(p8); // chip select DigitalOut led1(LED1); //debug led Serial pc(USBTX, USBRX); // tx, rx int main() { float temp = 0; temp_cs = 1; temp_cs = 0; spi.format(8,3); //falling edge, clock idle high spi.frequency(5000000); spi.write(0x08); //write to config register spi.write(0x10); //contin conversion mode temp_cs = 1; temp_cs = 0; spi.write(0x54); //contin read mode temp_cs = 1; spi.format(16,3); while (1) { led1 = 0; temp_cs = 0; temp = spi.write(0x0000); //write 16 dummy bits to read 16 bits temp_cs = 1; if (temp<0) temp = (temp -32768)/128; //negative temp calculation else temp = temp/128;//div by 128 16bit positive temp led1 = 1; pc.printf("Temperature = %1.6f \r", temp); wait(1); } }