亲爱的团队对话框,
我正在使用BLE模块开发一个i2c项目,我正在尝试开发一个i2c_core驱动程序来构建它,但是我从sdk i2c_eeprom项目开始当写入i2c_tar_reg时,启动条件没有生成,当我写入CMD寄存器时,它生成一个开始发送字节,并生成一个停止条件。
这是故意的吗?
最好的问候,Laszlo
嗨Lazlo.fabian,
当有数据进入FIFO或I2C_DATA_CMD_REG时,I2C控制器发出START条件,当传输结束时发出STOP条件。从I2C_TAR_REG可以配置i2c控制器将生成START条件还是常规调用。
由于MT_dialog
谢谢你的回答,现在我明白了。同时,我已经设法调试问题和行为,写入TAR将不会产生一个启动条件,只是当数据在FIFO,正如你说的。我的问题是奴隶不承认地址(焊接问题),因为没有实际的数据被发送,而是发出了一个停止条件。一旦奴隶承认了地址,一切都如预期的那样进行。
嗨Lazlo.fabian,
当有数据进入FIFO或I2C_DATA_CMD_REG时,I2C控制器发出START条件,当传输结束时发出STOP条件。从I2C_TAR_REG可以配置i2c控制器将生成START条件还是常规调用。
由于MT_dialog
亲爱的团队对话框,
谢谢你的回答,现在我明白了。同时,我已经设法调试问题和行为,写入TAR将不会产生一个启动条件,只是当数据在FIFO,正如你说的。我的问题是奴隶不承认地址(焊接问题),因为没有实际的数据被发送,而是发出了一个停止条件。一旦奴隶承认了地址,一切都如预期的那样进行。
最好的问候,
Laszlo