4个职位/ 0个新职位
最后发表
hrg
离线
最后看到:2年6个月前
大师
加入:2014-08-05 37
两个I2c连接

是否可以同时进行两个I2C连接?我使用I2C eeprom和I2C RTC,两者应该同时工作,所以如何在SDK中配置GPIO引脚?
另外,如何初始化和访问这两个SDK ?

JE_Dialog
离线
最后看到:2周6天前
工作人员
加入:2013-12-05 14:02
你好,hrg, I2C定义

你好,hrg, I2C根据定义允许总线上的多个连接。我们现在没有关于多重连接的例子。我需要内部检查一下。

BR JE_Dialog

hrg
离线
最后看到:2年6个月前
大师
加入:2014-08-05 37
请查收并确认

请尽快查看并确认SDK中的软件使用情况。

JE_Dialog
离线
最后看到:2周6天前
工作人员
加入:2013-12-05 14:02
你好,hrg,这里有一个例子

你好,hrg,这里有一个温度传感器(SE95)的例子。它展示了如何配置i2c设备;它的访问由它的地址决定。这是关键:确保在总线上发送地址以选择正确的设备。

BR JE_Dialog

步骤1。打开软件:
DA14580_peripheral_setup.uvproj . SDK

步骤2。看到:periph_setup.h:
将HARDWARE_CONFIGURATION_INDEX(.)改为' 1 '。

/* Test Definition -选择与您的H/W设置匹配的配置
*---------------------------------------------------------

  • spi闪存与uart
  • (1)带有uart的i2c eeprom
  • (2)带蜂鸣器和uart的正交编码器
    *---------------------------------------------------------
    */
    // Hardware Configuration <0=> SPI Flash with UART <1=> I2C EEPROM with UART <2=> Quadrature Encoder, Timers & Buzzer with UART
    #define HARDWARE_CONFIGURATION_INDEX (1) // 1 => I2C . I2C . I2C

步骤3。
在eeprom_test.c中添加新软件(在文件的开头)

挥发性int16_t温度;
不稳定的int二世;

//测试外围设备SE95温度传感器
// address = 1001 A2 A1 A0 R/W => 7bitaddress = 0x48…0x48 + 7 = 0x4F

i2c_eeprom_init(0x48, I2C_STANDARD, I2C_7BIT_ADDR, I2C_1BYTE_ADDR);

//读取内部ID-number:
2 = i2c_eeprom_read_byte (0 x05);//测试读取ID-value = 0xA1

/ /读取温度
BTRD = i2c_eeprom_read_data(rd_data, 0,2);

温度= 256 * rd_data[0]+ rd_data[1]
温度=温度/ 8;//右移3位