您好,
我们正在查询 I2C 通信中的多万用器模式。 在我们的项目中,我们将 MSP430F5358用作一个 USCI I2C 模块(其中另一个多路器是 Rfoc)的多路器,并用作另一个模块的从属器。 我们有以下疑问:
1. I2C 多主控制器的基本初始化配置是否有任何变化? 如果是,请提供一些有关示例代码。 对于单个主中继器,我们已使用以下代码进行 I2C 主中继器初始化:
/*
* I2C 初始化
*
无效 I2C_INIT()
{
GPIO 设置外围模块功能输入引脚(
GPIO 端口 P3,
GPIO 引脚0 + GPIO 引脚1);
USCI_B_I2C_initMasterParam i2c_params_24FC256 ={ 0 };
i2c_params_24FC256.selectClockSource = USCI_B_I2C_CLOCKSOURCE_SMCLK;
I2C_params_24FC256.i2cClk = UCS_getSMCLK();
I2C_params_24FC256.datarate = USCI_B_I2C_SET_DATA_RATE_400KBPS;
/*以100kHz 的频率将 I2C 主控制器初始化至 SMCLK,无自动停止*/
USCI_B_I2C_INITMaster (USCI_B0_BASE,&i2c_params_24FC256);
}
从我们在线收集的信息中,我们了解到,我们必须在进行任何 I2C 交易前进行 isI2cBusBusy 检查,以避免冲突。 是否需要考虑其他参数?
如果您能提供有关此方面的任何信息,将会有所帮助。