Files
CHJ/user/Device/MCP9808.h
2026-03-20 21:16:58 +08:00

45 lines
1.6 KiB
C
Executable File

#ifndef __MCP9808_h__
#define __MCP9808_h__
//##############################################################################
#if(ENABLE_USE_MCP9808)
//##############################################################################
#define MCP_ADR 0x3e
//REGISTER POINTER
#define RFU 0x00 // RFU, Reserved for Future Use (Read-Only register)
#define CONFIG 0x01 // Configuration register (CONFIG)
#define TUPPER 0x02 // Alert Temperature Upper Boundary Trip register (TUPPER)
#define TLOWER 0x03 // Alert Temperature Lower Boundary Trip register (TLOWER)
#define TCRIT 0x04 // Critical Temperature Trip register (TCRIT)
#define TA 0x05 // Temperature register (TA)
#define MID 0x06 // Manufacturer ID register
#define DID 0x07 // Device ID/Revision register
#define RREG 0x08 // Resolution register
// for Configuration register (CONFIG)
#define CONVERSION 0 // Continuous conversion (power-up default)
#define SHUT_DOWN BIT8 // Shutdown (Low-Power mode)
// for Resolution register
#define RESULT_0_5_BIT 0x00
#define RESULT_0_25_BIT 0x01
#define RESULT_0_125_BIT 0x02
#define RESULT_0_0625_BIT 0x03
void WriteWordRegister(u8 regBuf, u16 regData);
u16 ReadWordRegister(u8 regBuf);
void WriteByteRegister(u8 regBuf, u8 regData);
u16 ReadByteRegister(u8 regBuf);
void TestTemperatureInit(u8 regValue);
s16 TestTemperature(void);
void TemperatureLowPower(void);
//##############################################################################
#endif
//##############################################################################
#endif