33 lines
951 B
C
33 lines
951 B
C
#include "ip5310_i2c.h"
|
||
|
||
uint8_t rx_data = 0;
|
||
uint8_t tx_data = 0;
|
||
|
||
uint8_t bat_cpa;
|
||
uint8_t charge_flag = 0;
|
||
uint8_t charging_flag = 0;
|
||
|
||
//I2C读取电池电量
|
||
void read_battery(void)
|
||
{
|
||
//读取当前电量,5个档位
|
||
tx_data = BATTERY_CAPACITY;
|
||
HAL_I2C_Master_Transmit(&hi2c3, WRITE_CMD, &tx_data, 1, 0xff);
|
||
HAL_I2C_Master_Receive(&hi2c3, READ_CMD, &rx_data, 1, 0xff);
|
||
bat_cpa = (rx_data >> 4);
|
||
|
||
//电池充电是否开始,type-C是否接入电源
|
||
tx_data = CHARGE_FLAG;
|
||
HAL_I2C_Master_Transmit(&hi2c3, WRITE_CMD, &tx_data, 1, 0xff);
|
||
HAL_I2C_Master_Receive(&hi2c3, READ_CMD, &rx_data, 1, 0xff);
|
||
charge_flag = (rx_data & 0x08)>>3;
|
||
|
||
//电池充电是否结束,type-C可能还处于连接状态
|
||
tx_data = CHARGING_FLAG;
|
||
HAL_I2C_Master_Transmit(&hi2c3, WRITE_CMD, &tx_data, 1, 0xff);
|
||
HAL_I2C_Master_Receive(&hi2c3, READ_CMD, &rx_data, 1, 0xff);
|
||
charging_flag = (rx_data & 0x08)>>3;
|
||
}
|
||
|
||
|