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.

[参考译文] LAUNCHXL-CC3235S:I2Ctmp 例程代码问题

Guru**** 2554780 points
Other Parts Discussed in Thread: CC2640R2F, CC3235S, CC2640

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1050779/launchxl-cc3235s-i2ctmp-routine-code-issue

器件型号:LAUNCHXL-CC3235S
主题中讨论的其他器件:CC2640R2FCC3235SCC2640

大家好、

客户继续在 I2Ctmp 例程上进行开发、编写 IIC 初始化函数并通过其他函数调用它。 客户提到了 CC2640R2F 的 IIC 初始化功能。

CC2640R2F 的 IIC 初始化函数中有两行:

//初始化

I2CCC26XX_fxnTable.initFxn(&I2C_config[0]);

I2C = I2CCC26XX_fxnTable.openFxn(和 I2C_CONFIG[0],和 i2cParams);

问题:  

  1. CC2640R2F I2C 堆栈中的 initFxn 函数为:typedef void (* I2C_InitFxn)(I2C_Handle handle)。  但是、CC3235S 例程代码或协议栈中既没有 fxnTable 结构、也没有 initFxn 函数。

 2. CC2640R2F 的 IIC 配置函数 I2C_CONFIG 具有以下函数:.fxnTablePtr=&I2CCC26XX_fxnTable。 而 CC3235S 例程代码或协议栈中不存在此参数。  

可以忽略这些函数和参数吗?  如果不是、是否可以替换其他函数或参数?

3. 在 i2ctmp 例程代码的 i2ctmp 中、有"I2C_Init()"。 但是、当点击进入时、它是空的。 在哪里可以找到此函数的内容?

您可以帮助检查此案例吗? 谢谢!

此致、

樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    I2C_Init()在两个平台上都不执行任何操作(I2C_transfer 执行所有必要的配置)。

    我不确定您在哪里可以看到 initFxn 函数(和 fxnTable)、但 CC2640 可能使用不同的 TI 驱动程序 API 实现。

    对于 CC32xx、不需要这些。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的回复!

    客户还有一些其他问题:

    在 CC2640R2F 协议栈的 I2C.h 文件中、有一个包含参数 initFxn 的 I2C_FxnTable 结构。 函数:typedef void (* I2C_InitFxn)(I2C_Handle handle)、在 CC2640R2F 内部、客户正在编写的 IIC 初始化函数具有此 initFxn、正如您所说的、CC3235S 内部不需要此 initFxn。

    此外、在 CC2640R2F 的 I2C 配置函数中、还有一个指针变量* fxnTablePtr、它是 I2C.h 文件中 I2C_Config 结构的一部分、并且 CC3235S 中是否不需要该指针变量?

    I2Ctmp 例程代码中经常出现以下代码:I2C_transfer (i2c、&i2cTransaction)、这意味着什么?

    4. 上面提到的 CC2640R2F 堆栈中的 I2C.h 文件包含结构 I2C_FxnTable 和一个变量 transferFxn、客户在 CC2640R2F 中编写 IIC 初始化函数时使用该变量。 但是、在 CC3235S 的协议栈中、没有 I2C_FxnTable 结构、也没有变量 transferFxn。 CC3235S 的 I2C 初始化是否不需要变量 initFxn、transferFxn?

    感谢您的回复、期待您的回复!

    此致、

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1和2、4已经回答。

    3、I2C_TRANSFORT()被调用来触发 i2c 线上的读取或写入事务( i2cTransaction 结构包含事务的参数)