generated from hulk/gd32e23x_template
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
//
|
|
// Created by dell on 25-1-7.
|
|
//
|
|
|
|
#include "gd60914.h"
|
|
|
|
void gd60914_get_object_tempture(void) {
|
|
#ifdef SOFTWARE_IIC
|
|
soft_i2c_config();
|
|
#else
|
|
i2c_config();
|
|
#endif
|
|
|
|
static uint8_t sensor_validation_data[2];
|
|
extern uint8_t g_temperature_uint8[2];
|
|
|
|
#ifdef SOFTWARE_IIC
|
|
soft_i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, data);
|
|
#else
|
|
i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, sensor_validation_data);
|
|
#endif
|
|
|
|
if (sensor_validation_data[0] != 0xAA || sensor_validation_data[1] != 0x55) {
|
|
#ifdef DEBUG_VERBOES
|
|
printf("sensor error\r\n");
|
|
#endif
|
|
return;
|
|
}
|
|
|
|
delay_ms(350);
|
|
|
|
#ifdef SOFTWARE_IIC
|
|
soft_i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, g_temperature_uint8);
|
|
#else
|
|
i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, g_temperature_uint8);
|
|
#endif
|
|
|
|
// printf("%d\r\n", g_temperature_uint8[1] << 8 | g_temperature_uint8[0]);
|
|
}
|
|
|
|
void gd60914_read_temp(void) {
|
|
|
|
uint8_t value[2] = {0};
|
|
#ifdef SOFTWARE_IIC
|
|
soft_i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, value);
|
|
#else
|
|
i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, value);
|
|
#endif
|
|
|
|
printf("%x %x\r\n", value[1], value[0]);
|
|
} |