TI中文支持网
TI专业的中文技术问题搜集分享网站

6116.i2c_6713_example 这个例程输出的I2C波形问题

您好!这个波形是示例程序发出的,请问为什么,在启动标志位后和发的第一个字节之间多了一个0x20的字节?

user4465613:

回复 Tony Tang:

我现在要控制EEPROM ,怎么能去掉这个I2C地址呢?

Tony Tang:

回复 user4465613:

I2C在start后就是会送出 slave地址的啊.

user4465613:

回复 Tony Tang:

我将地址改为如下

/**********************************************************\ Miscellaneous I2C test setup\**********************************************************/

/*macros for assigning addresses to I2C0 and I2C1 */#define I2C0_OWN_ADDRESS (0xa1) //(0x10)#define I2C1_OWN_ADDRESS (0xa1) //(0x20)

输出的地址是0x42

Tony Tang:

回复 user4465613:

数错位了吧,应该是0x21 ,因为默认是7bit地址模式。

user4465613:

回复 Tony Tang:

我现在要读取EEPROM24LC65的内容 24LC65 要求在START后面发送 0xa01 我怎么发送啊

Tony Tang:

回复 user4465613:

我看了一眼24LC65的手册,其读写要求如下,你说的0xAx就是其地址,只是这7位地址占的是1-8bit,bit 0代表读还是写命令。其中地址高4位是固定的,低三位由24LC65的管脚A0-A2上的上下拉状态决定。

对于操作来看说,你只要关心低7位地址就行了,不要人为的去移位,最低位读写的电平由I2CMDR的bit 9决定。

再看C6713的I2C手册,其数据格式如下:

二者是一致的。start后跟着slave地址这是I2C协议规定的。大家必需都要遵守,不然没办法通信了。

赞(0)
未经允许不得转载:TI中文支持网 » 6116.i2c_6713_example 这个例程输出的I2C波形问题
分享到: 更多 (0)