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.

[参考译文] CCS/CC2640:CC2640 SCL 和 SDA 引脚需要在通信完成后下降

Guru**** 2557740 points
Other Parts Discussed in Thread: CC2640, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/570543/ccs-cc2640-cc2640-scl-and-sda-pins-needs-to-go-down-after-communication-finish

器件型号:CC2640
Thread 中讨论的其他器件: CC2650

工具/软件:Code Composer Studio

大家好、

我正在使用 CC2640定制板、  

通过使用 cc2640、我使用外部 i2c 传感器进行连接、

我使用 cc2650传感器标签代码作为基础、我的应用工作正常、但通信完成后、我仍从 SCL 和 sda 引脚获取3.3V 电压、通信完成后需要将其下拉。

我不知道如何实现它。

非常感谢提前的回应

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 I2C 接口后、您可以尝试将 SCL/SDA 引脚设置为 GPO 并输出低电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、R K、

    I2C 默认通过外部上拉电阻器拉至 VDD。 如果将 IO 引脚配置为低输出、则会由于电流流过电阻器而增加电流消耗。

    ´s 您仍想这样做,宜家的答复是最简单的办法。

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

    您好!

    感谢您的快速回复,I2C 通信完成后,我尝试使用 I2C_Close (i2c_handle)函数关闭 i2c 通信,但我的程序在 i2c_close 函数中继续运行,我不知道发生了什么。 我缺少什么?

    /* I2C 初始化部分 */

    Semaphore_Params semParamsMutex;

    //创建保护信标
    Semaphore_Params_init (&semParamsMutex);
    SemParametersMutex.mode = Semaphore_Mode_binary;
    Semaphore_construction (&mutex、1、&semParamsMutex);

    //重置 I2C 控制器
    // HapiResetPeripheral (PRCM_Periph_I2C0);

    I2C_init();
    I2C_Params_init (&i2cParams);
    i2cParams.bitrate = I2C_400kHz;
    i2cParams.custom=(uintptr_t) pinCfg1;
    i2cHandle = I2C_open (Board_I2C、&i2cParams);

    if (i2cHandle ==空)

    返回1;

    //初始化局部变量
    slaveAddr = VL53L0X_ADDRESS;
    接口= VL53L0X_I2C_interface_0;

    /*一些 i2c 读取函数*/

    I2C_Close (i2cHandle); //此处我尝试关闭 i2c 通信、但程序光标在此处继续运行、这只是为什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、RK、
    您使用的是哪款 SDK?
    您是否已评估了我们的低功耗蓝牙软件开发人员指南中的调试步骤,特别是“解密 CPU 异常”部分,以验证是否发生异常:
    software-dl.ti.com/.../ble-debugging.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉,我稍后会回复,我正在使用 此版本的 SDK“ble_sdk_2_02_01_18 ”。

    在 i2c 通信后、仍然无法将 GPIO 配置为低输出、即使我将 i2c 引脚配置为 GPIO 器件未从睡眠模式唤醒也是如此。

    有些事情让我感到困惑。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、RK、
    如果您将来自"C:\TI\tirtos_cc13xx_cc26xx_2_20_01_08\products\tidrivers_cc13xx_cc26xx_2_20_01_10\packages/ti\drivers\i2c"的 I2CCC26XX.c 添加到您的项目中、您可以在 I2C_Handle 中单步执行 C 源代码、但转至错误的图(i2C_Close)。

    您应该研究我在上一次关于调试的答复中给您的链接。 完整的章节可能对您将来的调试工作也很有用。