Firefly开源社区

标题: 铩羽于小小IIC,求救无门。 [打印本页]

作者: wyq165    时间: 2015-5-28 08:57
标题: 铩羽于小小IIC,求救无门。
这几天调试IIC从机,官方的资料倒是全,但仅仅是全而已了,很多关键没提及,成功还好了,不成功那就不知道怎么办了。
我以蓝牙模块作为从机,其它单片机作为主机。保证主机IIC格式的正确情况下。以IIC标准格式给蓝牙模块发送了数据:
比如   S + SLAVEADDR/wr +S_ACK +DATA+S_ACK+P     但是蓝牙模块IIC从机只响应了 SLAVEADDR/wr(从机地址),也就是红色部分响应了一次应答,后面数据收发都失败了。例子照搬Driver 例子里面的I2C,多次检查,没发现那里没配置的。而我主机端跟别的IIC从器件通信正常(EEPROM芯片)。


作者: FireBLE_blue    时间: 2015-5-28 09:19
跑的是全系统,包括协议栈?如果是请注意睡眠问题,建议在裸驱下调好再加入。
作者: wyq165    时间: 2015-5-28 09:31
FireBLE_blue 发表于 2015-5-28 09:19
跑的是全系统,包括协议栈?如果是请注意睡眠问题,建议在裸驱下调好再加入。

不是,是driver,不包括协议栈和内核。就是driver example 里面的iic例子。
作者: FireBLE_blue    时间: 2015-5-28 10:28
没摸索过从机的iic
  1. #define I2C_MODE                                       I2C_SLAVE //I2C_MASTER  /*!< Config I2C Mode: Master or Slave */
复制代码

作者: lovefirstly    时间: 2015-5-28 23:17
楼主解决了吗。
作者: wyq165    时间: 2015-5-29 10:48
lovefirstly 发表于 2015-5-28 23:17
楼主解决了吗。

没解决,代码完全检查了,没发现问题。

作者: FireBLE_blue    时间: 2015-5-29 14:30
你的iic 主机读的时序是怎样?直接用eeprom 程序来调试吗?
作者: wyq165    时间: 2015-6-1 10:04
FireBLE_blue 发表于 2015-5-29 14:30
你的iic 主机读的时序是怎样?直接用eeprom 程序来调试吗?

S   从机地址 A data A p
作者: wyq165    时间: 2015-6-1 10:06
EEprom要写从机地址和寄存器地址,我这个不用,只发从机地址,得到应答后就发数据了




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1