我在0x30的寄存器里使能了MODULE_MON_EN,然后到0x03也令CMD_MODULESEL=1了,为什么读不到数据?
ZiKai Li1:
请问“ 获取该值需执行两次转换 ”要怎么操作?
Cheng.W:
回复 ZiKai Li1:
两次转换是ADC自动完成的。
BAT采集是和电芯、NTC采集是一起的。
发送write without response 给0x02寄存器, data00指令,启动ADC,转换,
再等待5ms, write with response 给0x02寄存器,data 20, 等待返回数据。就可以,按照CHANNELS Selection,寄存器的转换顺序得到VMOD。
ZiKai Li1:
回复 Cheng.W:
你好,我试了下还是不行,我把我步骤跟你说下
按以下顺序发送:(第1个字节是起始帧,第二个是器件地址,第三个是寄存器,最后两个是CRC,其他的是数据)
Tx[7]={0x92(起始帧),0x00(器件地址),0x30(寄存器),0x00(数据),0x01(数据),0x78(CRC),0x12(CRC)}; / /使能总电压采集
Tx1[9]={0x94,0x00,0x03,0x03,0xFF,0x15,0x02,0x2E,0xEC}; //通道选择(我选了10节电池,3个温度的,还有总电压那个)
Tx2[6]={0x91,0x00,0x02,0x00,0x2D,0x9C}; //采样命令不带返回值
Tx3[6]={0x81,0x00,0x02,0x20,0x28,0x84}; //采样带返回值
然后结果就是能采到10节电池的单体电压和3温度的值,但是总电压就是采不到,请问哪里出问题了?