你好,我是Denis Jeong。
我使用的是Atmega128和BQ34Z11。 我使用Atmega128和BQ34Z11之间的I2C。
当我构建基于BQ34Z110的MY电路时,请参阅此网站 www.mikrocontroller.net/.../33.9243万
我为我的电路提供12伏电压。
我不连接SRP,SRN,因为我希望只测量电池电压。
然后,我使用BQ34Z110逐步启动I2C。
首先,我读取BQ34Z110上的数据闪存值。
我取得了成功。
作为第二步,我将BQ34Z110上的数据闪存值转换为静音。 然后我检查了BQ34Z110上的Received Data Flash值。
那么这次成功了!!(我根据电压测量范围= 1.44万[mV]和容量测量范围= 2900[mA/h]设置了BQ34Z110上的数据闪存值)
第三步,我将读取蓄电池电压的命令发送至BQ34Z110,如下所示。
1."开始位-- 0xAA -- 0x08 --重复开始-- 0xAB --数据读取(LSB)--数据读取(MSB)--结束"
2."开始位-- 0xAA -- 0x08 --重复开始-- 0xAB --数据读取(LSB)--数据读取(MSB)--结束"
3."开始位-- 0x55 -- 0x08 --重复开始-- 0x55 --数据读取(LSB)--数据读取(MSB)--结束"
4."开始位-- 0xAA -- 0x08 -- 0x09 --重复启动-- 0xAB --数据读取(LSB)--数据读取(MSB)--结束"
5."开始位-- 0xAA -- 0x08 -- 0x09 --重复启动-- 0xAB --数据读取(LSB)--数据读取(MSB)--结束"
6."开始位-- 0x55 -- 0x08 --结束-- 0x55 --数据读取(LSB)--结束--开始位-- 0x55 -- 0x09 --结束-- 0x55 --数据读取(LSB)--结束
7."开始位-- 0x55 -- 0x08 --结束-- 0x55 --数据读取(LSB)--结束--开始位-- 0x55 -- 0x09 --结束-- 0x55 --数据读取(LSB)--结束
我总是成功的I2C,但却没有得到结果(MSB,LSB)。 我经常收到LSB = 12或18 (十进制)和MSB = 00。 我有时收到LSB = 224 (十进制),MSB = 46 (十进制)和LSB = 76 (十进制),MSB = 02 (十进制)。
我认为,我得到的结果是完全错误的。
我不知道为什么我没有收到正确的结果。
这些问题使我精神错乱。
为什么不能获取电压数据(MSB,LSB)?
我的电路是否错误??
获取电压数据(MSB,LSB)的数据格式是否错误?
请告诉我什么是错的。
谢谢