Orefatoi
/
afero_poc15_171201
POC1.5 prototype 2 x color sensor 2 x LM75B 3 x AnalogIn 1 x accel
Embed:
(wiki syntax)
Show/hide line numbers
LM75B.h
00001 #ifndef _LM75B_H_ 00002 #define _LM75B_H_ 00003 00004 #include "mbed.h" 00005 00006 /** 00007 * NXP LM75B Digital temperature sensor and thermal watchdog 00008 * 00009 * @code 00010 #include "mbed.h" 00011 #include "LM75B.h" 00012 #define LM75B_I2C_ADDRESS (0x48) 00013 00014 #if defined (TARGET_KL25Z) 00015 #define PIN_SCL PTE1 00016 #define PIN_SDA PTE0 00017 #elif defined (TARGET_KL46Z) 00018 #define PIN_SCL PTE1 00019 #define PIN_SDA PTE0 00020 #elif defined (TARGET_K64F) 00021 #define PIN_SCL PTE24 00022 #define PIN_SDA PTE25 00023 #elif defined (TARGET_K22F) 00024 #define PIN_SCL PTE1 00025 #define PIN_SDA PTE0 00026 #elif defined (TARGET_KL05Z) 00027 #define PIN_SCL PTB3 00028 #define PIN_SDA PTB4 00029 #elif defined (TARGET_NUCLEO_F411RE) 00030 #define PIN_SCL PB_8 00031 #define PIN_SDA PB_9 00032 #else 00033 #error TARGET NOT DEFINED 00034 #endif 00035 00036 int main() { 00037 int8_t itemp = 0 ; 00038 float ftemp = 0.0 ; 00039 LM75B lm75b(PIN_SDA, PIN_SCL, LM75B_I2C_ADDRESS) ; 00040 00041 while(1) { 00042 itemp = lm75b.temp() ; 00043 lm75b.getTemp(&ftemp) ; 00044 printf("Temp = %d C degree, %.3f C degree\n", itemp, ftemp) ; 00045 wait(1) ; 00046 } 00047 } 00048 * @endcode 00049 */ 00050 class LM75B 00051 { 00052 public: 00053 /** 00054 * LM75B constructor 00055 * 00056 * @param i2c pointer to the I2C object 00057 * @param addr addr of the I2C peripheral 00058 */ 00059 LM75B(I2C *i2c, int addr); 00060 00061 /** 00062 * LM75B destructor 00063 */ 00064 ~LM75B(); 00065 00066 /** 00067 * get temperature as one byte (signed) 00068 */ 00069 int8_t temp(void) ; 00070 00071 /** 00072 * get temperature as 11 bit (float) 00073 */ 00074 void getTemp(float *temp) ; 00075 00076 /** 00077 * get configuration register 00078 */ 00079 uint8_t getConfig(uint8_t ptr_byte) ; 00080 00081 /** 00082 * set configuration register 00083 */ 00084 int setConfig(uint8_t ptr_byte, uint8_t config_data) ; 00085 00086 private: 00087 I2C *p_i2c; 00088 int m_addr; 00089 int readRegs(int addr, uint8_t * data, int len); 00090 int writeRegs(uint8_t * data, int len); 00091 00092 }; 00093 00094 #endif
Generated on Tue Jul 12 2022 21:13:41 by 1.7.2