微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > bq30z554-R1读取电量的问题

bq30z554-R1读取电量的问题

时间:10-02 整理:3721RD 点击:

 

//设置了两个宏定义

#define RelativeStateOfCharge    0x0D       //读取剩余电量的寄存器

#define SLAVE_ADDRESS            0x10       //16是写  17是读

//读取芯片寄存器

u16 Signal_Read(unsigned char readaddr)
{  
    u16 reg_data1,reg_data2,reg_data;

    IIC_Start();                         
    IIC_Send_Byte(SLAVE_ADDRESS);
    IIC_Wait_Ack();
    IIC_Send_Byte(readaddr);
    IIC_Wait_Ack();
 
    IIC_Start();
    IIC_Send_Byte(SLAVE_ADDRESS+1);
    IIC_Wait_Ack();


   reg_data1=IIC_Read_Byte(1);
   reg_data2=IIC_Read_Byte(0);
 
    IIC_Stop();
 
    reg_data=(reg_data2<<8)+reg_data1;
 
    return  reg_data;
}//这个这个i2c时序我成功读取过别的芯片的寄存器,时序应该没问题

我是按照如下的时序进行读取的:

//在主函数中读取剩余电量

i=Signal_Read(RelativeStateOfCharge);

是否这样就可以直接读取出电量呢,我没有配置任何寄存器,就是直接从0x0D寄存器中直接读取的数据。但是没有成功,返回的值是0xffff。还要怎样调试才能正确读取出电量呢,谢谢。

 

没有CRC校验么?

请按照SBS1.1 通讯标准。或者可以用monitor直接看以下EV2300是如何发送指令帧的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top