Hello code for "Switch Science mbed LPC824"

Dependencies:   mbed

Fork of SwitchSciencembedLPC824_test by Mako SHIMURA

Committer:
okano
Date:
Mon Nov 03 00:03:55 2014 +0000
Revision:
0:f947ed831c67
Child:
1:3c29c04cfeb2
very basic code for hardware verification

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:f947ed831c67 1 #include "mbed.h"
okano 0:f947ed831c67 2
okano 0:f947ed831c67 3 // LM75B I2C slave address
okano 0:f947ed831c67 4 #define ADDRESS_LM75B 0x90
okano 0:f947ed831c67 5
okano 0:f947ed831c67 6 // LM75B registers
okano 0:f947ed831c67 7 #define LM75B_Conf 0x01
okano 0:f947ed831c67 8 #define LM75B_Temp 0x00
okano 0:f947ed831c67 9 #define LM75B_Tos 0x03
okano 0:f947ed831c67 10 #define LM75B_Thyst 0x02
okano 0:f947ed831c67 11
okano 0:f947ed831c67 12 I2C i2c( p28, p27 );
okano 0:f947ed831c67 13
okano 0:f947ed831c67 14 void init( void );
okano 0:f947ed831c67 15 float read_temp( void );
okano 0:f947ed831c67 16
okano 0:f947ed831c67 17
okano 0:f947ed831c67 18 int main()
okano 0:f947ed831c67 19 {
okano 0:f947ed831c67 20 init();
okano 0:f947ed831c67 21
okano 0:f947ed831c67 22 while(1) {
okano 0:f947ed831c67 23 printf( "temp = %7.3f\r\n", read_temp() );
okano 0:f947ed831c67 24 wait( 1 );
okano 0:f947ed831c67 25 }
okano 0:f947ed831c67 26 }
okano 0:f947ed831c67 27
okano 0:f947ed831c67 28 void init( void )
okano 0:f947ed831c67 29 {
okano 0:f947ed831c67 30 char command[ 2 ];
okano 0:f947ed831c67 31
okano 0:f947ed831c67 32 command[ 0 ] = LM75B_Conf;
okano 0:f947ed831c67 33 command[ 1 ] = 0x00;
okano 0:f947ed831c67 34
okano 0:f947ed831c67 35 i2c.write( ADDRESS_LM75B, command, 2 );
okano 0:f947ed831c67 36 }
okano 0:f947ed831c67 37
okano 0:f947ed831c67 38 float read_temp( void )
okano 0:f947ed831c67 39 {
okano 0:f947ed831c67 40 char command[ 2 ];
okano 0:f947ed831c67 41
okano 0:f947ed831c67 42 command[ 0 ] = LM75B_Temp;
okano 0:f947ed831c67 43
okano 0:f947ed831c67 44 i2c.write( ADDRESS_LM75B, command, 1 ); // Send command string
okano 0:f947ed831c67 45 i2c.read( ADDRESS_LM75B, command, 2 ); // read two bytes data
okano 0:f947ed831c67 46
okano 0:f947ed831c67 47 return ( (float)( (command[ 0 ] << 8)| command[1] ) / 256.0 );
okano 0:f947ed831c67 48 }