您好!
我正在使用为 SMBus 通信提供的库(SMBus.h 和 SMBus.c)实现 SMBus 从设备。 我使用基于中断的方法、并且使用 SW-TM4C-UTILS-UG 文档中提供的基本代码作为代码模板。 当通信开始时、从器件只能在第一个字上正确发送数据。 在后续的读取字操作中、从器件不发送预期数据、并且在每个字节中仅发送0xFF。 我一直在努力弄清楚它,但到目前为止,没有运气。 如果能对此提供一些帮助、我将不胜感激。 检查以下从 ISR 代码以及一段 SMBus 捕获的屏幕截图。
结构 battData{
uint8_t 电压[2];
uint8_t Current[2];
uint8_t 关联[2];
uint8_t remCap [2];
uint8_t fullCap[2];
uint8_t time2empty[2];
uint8_t STATUS[2];
uint8_t 温度[2];
};
struct battData battery ={{0x01、0x02}、{0x03、0x04}、{0x05、0x06}、{0x07、0x08}、{0x09、0x0A}、{0x0B、0x0C}、{0x0D、0x0E}、{0x0F、0x10};
![](https://e2e.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/908/Screenshot-2023_2D00_09_2D00_28-112855.png)