• 大小: 68KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: BQ25895  IIC  

资源简介

用软件IIC对BQ25895的寄存器的配置,可直接使用

资源截图

代码片段和文件信息

#include “bq2589x_reg.h“
#include “i2c.h“


#define BQ2589X_ADDR 0xD4

static unsigned char bq2589x_status;

int bq2589x_write_byte(unsigned char regunsigned char Data)
{
return i2c_write_byte(BQ2589X_ADDRregData);
}

int bq2589x_read_byte(unsigned char reg unsigned char *Data)
{
return i2c_read_byte(BQ2589X_ADDRregData);
}

static int bq2589x_update_bits(unsigned char reg unsigned char mask unsigned char Data)
{
int ret;
unsigned char tmp;

ret = bq2589x_read_byte(reg&tmp);

if (ret)
return ret;

tmp &= ~mask;
tmp |= Data & mask;

return bq2589x_write_byte(reg tmp);
}


int bq2589x_read_bat_volt()
{
unsigned char val;
int volt;

int ret;
ret = bq2589x_read_byte(BQ2589X_REG_0E&val);
if(ret > 0){
return ret;
}
else{
volt = BQ2589X_BATV_base + ((val & BQ2589X_BATV_MASK) >> BQ2589X_BATV_SHIFT) * BQ2589X_BATV_LSB ;
return volt;
}
}

int bq2589x_adc_start(char oneshot)
{
    unsigned char val;
    int ret;

    ret = bq2589x_read_byte(BQ2589X_REG_02&val);
    if(ret > 0)
        return ret;

    if(((val & BQ2589X_CONV_RATE_MASK) >> BQ2589X_CONV_RATE_SHIFT) == BQ2589X_ADC_CONTINUE_ENABLE)
        return 0; //is doing continuous scan
    if(oneshot)
        ret = bq2589x_update_bits(BQ2589X_REG_02BQ2589X_CONV_START_MASK BQ2589X_CONV_START << BQ2589X_CONV_START_SHIFT);
    else
        ret = bq2589x_update_bits(BQ2589X_REG_02BQ2589X_CONV_RATE_MASK BQ2589X_ADC_CONTINUE_ENABLE << BQ2589X_CONV_RATE_SHIFT);
    return ret;
}

int bq2589x_set_chargecurrent(int curr)
{

unsigned char ichg;

    ichg = (curr - BQ2589X_ICHG_base)/BQ2589X_ICHG_LSB;
return bq2589x_update_bits(BQ2589X_REG_04BQ2589X_ICHG_MASK ichg << BQ2589X_ICHG_SHIFT);

}

int bq2589x_set_chargevoltage(int volt)
{
unsigned char val;

    val = (volt - BQ2589X_VREG_base)/BQ2589X_VREG_LSB;
return bq2589x_update_bits(BQ2589X_REG_06BQ2589X_VREG_MASK val << BQ2589X_VREG_SHIFT);
}

int bq2589x_set_term_current(int curr)
{
unsigned char iterm;

    iterm = (curr - BQ2589X_ITERM_base) / BQ2589X_ITERM_LSB;

    return bq2589x_update_bits(BQ2589X_REG_05BQ2589X_ITERM_MASK iterm << BQ2589X_ITERM_SHIFT);
}

int bq2589x_set_input_volt_limit(int volt)
{
unsigned char val;
    val = (volt - BQ2589X_VINDPM_base)/BQ2589X_VINDPM_LSB;
    return bq2589x_update_bits(BQ2589X_REG_0DBQ2589X_VINDPM_MASK val << BQ2589X_VINDPM_SHIFT);
}

int bq2589x_set_input_current_limit(int curr)
{

unsigned char val;

    val = (curr - BQ2589X_IINLIM_base)/BQ2589X_IINLIM_LSB;
return bq2589x_update_bits(BQ2589X_REG_00BQ2589X_IINLIM_MASK val << BQ2589X_IINLIM_SHIFT);
}

int bq2589x_set_vindpm_offset(int offset)
{
unsigned char val;

val = (offset - BQ2589X_VINDPMOS_base)/BQ2589X_VINDPMOS_LSB;
return bq2589x_update_bits(BQ2589X_REG_01BQ2589X_VINDPMOS_MASK val << BQ2589X_VINDPMOS_SHIFT);
}

void bq2589x_enable_charge()
{
unsigned char val = BQ2589X_CHG_EN

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        127  2016-04-27 17:31  BQ - 副本\2.txt

     文件      40311  2016-05-03 13:41  BQ - 副本\BQ

     文件       3030  2016-05-03 13:41  BQ - 副本\BQ.hex

     文件         94  2016-05-03 13:41  BQ - 副本\BQ.lnp

     文件      29842  2016-05-03 13:41  BQ - 副本\BQ.M51

     文件        157  2016-05-18 16:21  BQ - 副本\BQ.plg

    .......     60275  2016-05-18 16:21  BQ - 副本\BQ.uvopt

     文件      13912  2016-04-26 22:58  BQ - 副本\BQ.uvproj

     文件       3976  2016-04-27 11:16  BQ - 副本\BQ2589x.c

     文件        668  2016-04-27 11:16  BQ - 副本\BQ2589x.h

     文件       7891  2016-05-03 13:41  BQ - 副本\BQ2589x.LST

     文件      31069  2016-05-03 13:41  BQ - 副本\BQ2589x.OBJ

     文件      11740  2016-04-26 16:37  BQ - 副本\BQ2589x_reg.h

    .......     60277  2016-05-03 17:16  BQ - 副本\BQ_uvopt.bak

     文件      13744  2016-04-26 16:52  BQ - 副本\BQ_uvproj.bak

     文件        639  2016-04-27 09:00  BQ - 副本\delay.c

     文件        146  2016-04-27 09:00  BQ - 副本\delay.h

     文件       1929  2016-05-03 13:41  BQ - 副本\delay.LST

     文件       1924  2016-05-03 13:41  BQ - 副本\delay.OBJ

     文件       5090  2016-04-26 21:49  BQ - 副本\i2c - 副本.c

     文件       1886  2016-04-27 10:31  BQ - 副本\i2c.c

     文件        202  2016-04-26 22:53  BQ - 副本\i2c.h

     文件       4757  2016-05-03 13:41  BQ - 副本\i2c.LST

     文件       4691  2016-05-03 13:41  BQ - 副本\i2c.OBJ

     文件       1138  2016-05-03 13:41  BQ - 副本\main.c

     文件       3224  2016-05-03 13:41  BQ - 副本\main.LST

     文件       4425  2016-05-03 13:41  BQ - 副本\main.OBJ

     文件        121  2016-04-26 16:10  BQ - 副本\reg.txt

     文件       1079  2016-04-18 11:46  BQ - 副本\Uart1.c

     文件        123  2016-04-18 11:50  BQ - 副本\Uart1.h

............此处省略16个文件信息

评论

共有 条评论