求解图片!!!!!

    图中,我试图通过发送0x16 0x0d来读取电池电量百分比,但发现,在发送0x16器件地址时,能正常拉低sda,进行ack应答,而当随后发送的0x0d寄存器地址时,不但未将sda拉低,反而将clk拉低,期间我无法通过stm32引脚端将clk拉高。

    在读取所有寄存器时均如此,求解?!

  • 看波形,可以检查以下CLK的上拉配置是由MCU内部上拉的么?

    检查以下是否内部上拉配置的问题,后者尝试外部上拉。

  • MCU内部选择的是复用开漏输出模式,而外部也进行了上拉。

    MCU使用该接口能够与其他芯片通过SMBus通信,但此次与通信却失败了。

  • MCU内部选择的是复用开漏输出模式,而外部也进行了上拉。

    MCU使用该接口能够与其他芯片通过SMBus通信,但此次与通信却失败了。

  • 你的第二个字节好像少了一个ACK的clock吧?你看一下第三个字节的第一bit是否被拉低了?

  • 已经解决的了,是SMBus时钟的问题;时钟频率设置过高,所以出现了上面的现象。后将时钟频率设置到100KHz以下,就可以通讯了。

    但奇怪的是,当分别读取四节电池电压时,有一节电池电压读取不出来。而总电压又是另外三节电池电压的读取和。

  • 建议用TI的上位机软件和来读一下电池包的电压数据,看是否现象一致。如果这样读出来的电压是正常的,那还是说明你用MCU的读取方式有问题。

  • 能给我参考下你的MCU与3060通过Smbus通讯的程序吗?

}

最近看zxing源码中的android的datamatrix部分,整个过程熟悉了一遍,并没有找到有关二维码的图像矫正方面的代码,求助大神!!

}

我要回帖

更多关于 求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信