This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的专家:
我正在学习此项目、发现使用两个 I2C、一个用于 BQ27426、另一个用于 RF430、但当使用 SysConfig 工具设置 CC2642时、设置两个 I2C、具有以下内容:
我查看了数据表 CC2640和 CC2642、只有一个 I2C 模块
我不熟悉此 TI 参考设计、但正确的是 CC2640/CC2642只有一个硬件 I2C。 如果您查看 提供的 TIDA-01012固件、则会看到两个实例都使用相同的 I2C 硬件外设、并且 在任何时候只连接 BQ27426或 RF430。 如果要为 两个器件同时连接创建第二个实例、则需要使用软件解决方案使 SDA/SCL 线路位挂起。 此类解决方案也可使用 传感器控制器。 您很可能会在将此传统 CC2640代码移植到 SimpleLink CC2642R 解决 方案时遇到几个困难、但您可以查看迁移指南以开始使用。
此致、
Ryan
在 board.c 文件中、BoardGpioInitTable 源代码如下:
BQ27426_SCL | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH| PIN_PushPull | PIN_DRVSTR_MAX、
BQ27426_SDA | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MAX、
ENABLE_BQ27426 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_OPENDRAIN | PIN_DRVSTR_MED、
RF430_SCL | PIN_INPUT_EN | PIN_PULLUP、
RF430_SDA | PIN_INPUT_EN | PIN_PULLUP、
CONST I2CCC26XX_HWAttrs i2cCC26xxHWAttrs[WDMM_I2CCOUNT ={
{
baseAddr = I2C0_BASE、
powerMngrId = Periph_I2C0、//PowerCC26XX_Periph_I2C0、
.intNum = INT_I2C、//INT_I2C_IRQ、
//.intPriority =~0、
//.swiPriority = 0、
sdaPin = RF430_SDA、
.sclPin = RF430_SCL、
}、
{
baseAddr = I2C0_BASE、
powerMngrId = Periph_I2C0、//PowerCC26XX_Periph_I2C0、
.intNum = INT_I2C、//INT_I2C_IRQ、
//.intPriority =~0、
//.swiPriority = 0、
sdaPin = BQ27426_SDA、
.sclPin = BQ27426_SCL、
}
};
/* I2C 配置结构*/
const I2C_Config I2C_CONFIG[]={
{
.fxnTablePtr =&I2CCC26XX_fxnTable、
.object =&i2cCC26xx 对象[0]、
hwAttrs =&i2cCC26xxHWAttrs[0]
}、
{
.fxnTablePtr =&I2CCC26XX_fxnTable、
.object =&i2cCC26xx 对象[1]、
hwAttrs =&i2cCC26xxHWAttrs[1]
}、
{NULL、NULL、NULL}
};