資源簡介
用軟件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?<????else
????????ret?=?bq2589x_update_bits(BQ2589X_REG_02BQ2589X_CONV_RATE_MASK?BQ2589X_ADC_CONTINUE_ENABLE?<????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?<
}
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?<}
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?<}
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?<}
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?<}
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?<}
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個文件信息
評論
共有 條評論