MSP430读bq40Z50R1寄存器,经常出错
时间:10-02
整理:3721RD
点击:
请问TI工程师:
我用MSP430G2513通过I2C读BQ40Z50读电池电压。
我是参考MSP430F2xx_bq27541EVM 里面的的代码写的,我用的是软件模拟I2C,有时候可以读出电压的准确数据,有时候会出错。
我在参考代码的时候发现,
MSP430的主时钟设的是1MHZ,但是I2CDELAYUSEC 这个宏定义为 2500,这样如何能保证SMBus的频率在10K~100K之间呢?。我用2500的时候,发现是无法读到正确数值的。
这个宏改为5或者10的时候,有时候会读出正确的数值,有时候读不出正确的数值。
请高手支招
有用示波器看过通讯的波形么?
现在可以读到数据了,之前的问题是,是我的定时器中断太频繁造成的。
read/write word function 正常了,可以读电池的充电电压,电流了
我现在的问题是,无法通过 ManufacturerBlockAccess() 读取bq40z50R1的dataflash.
比如我想读取 0x495D DA Configuration 的内容,怎么读数据都不对。
请把你的具体的读写时序列出来看一下。