我打开均衡管理时发现VC14电压变低了,但我使用的时NMOS,应该是电压变高才能导通三极管进行均衡
请问bq76940均衡时分PMOS和NMOS么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
问题找到了,是从官网下载的头文件错了。bqMaximo_Ctrl_G2553.h头文件里定义的各个寄存器结构体,除了CELLBAL1,CELLBAL2,CELLBAL3都是按大端定义的bit,但这3个寄存器是按小端定义的,导致我控制bat15时实际是控制了bat14。改下头文件定义就好了
下面屏蔽的是官网原有的定义,打开的是改后的定义。
union
{
struct
{
#if 0
unsigned char RSVD :3;
unsigned char CB5 :1;
unsigned char CB4 :1;
unsigned char CB3 :1;
unsigned char CB2 :1;
unsigned char CB1 :1;
#else
unsigned char CB1 :1;
unsigned char CB2 :1;
unsigned char CB3 :1;
unsigned char CB4 :1;
unsigned char CB5 :1;
unsigned char RSVD :3;
#endif
}CellBal1Bit;
unsigned char CellBal1Byte;
}CellBal1;
union
{
struct
{
#if 0
unsigned char RSVD :3;
unsigned char CB10 :1;
unsigned char CB9 :1;
unsigned char CB8 :1;
unsigned char CB7 :1;
unsigned char CB6 :1;
#else
unsigned char CB6 :1;
unsigned char CB7 :1;
unsigned char CB8 :1;
unsigned char CB9 :1;
unsigned char CB10 :1;
unsigned char RSVD :3;
#endif
}CellBal2Bit;
unsigned char CellBal2Byte;
}CellBal2;
union
{
struct
{
#if 0
unsigned char RSVD :3;
unsigned char CB15 :1;
unsigned char CB14 :1;
unsigned char CB13 :1;
unsigned char CB12 :1;
unsigned char CB11 :1;
#else
unsigned char CB11 :1;
unsigned char CB12 :1;
unsigned char CB13 :1;
unsigned char CB14 :1;
unsigned char CB15 :1;
unsigned char RSVD :3;
#endif
}CellBal3Bit;
unsigned char CellBal3Byte;
}CellBal3;