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:如何从 I2C 读取数据并在 BLE 服务中更新数据

Guru**** 2553440 points
Other Parts Discussed in Thread: CC2650, CC2640, TMP112, CC2650STK, BLE-STACK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/578663/ccs-cc2640-how-to-read-data-from-i2c-and-update-data-in-ble-service

器件型号:CC2640
主题中讨论的其他器件:CC2650TMP112CC2650STKBLE-STACK

工具/软件:Code Composer Studio

您好!

我正在使用 cc2640、想要从通过 I2C 通信的 TMP112温度传感器读取温度。 我正在使用 CC2650 LP 并根据 Project Zero 示例设计原型。 我创建了一个用于温度数据读取的服务和特征。 我已经在 RTOS 中实现了温度读数。 是否有人可以告诉我如何在项目应用程序中读取温度并更新我的服务中的数据?

非常感谢!

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

    我会推荐使用 Project Zero 的 TI-RTOS 中的 I2C 示例之一。

    例如、如果您安装了 TI RTOS 2.20.02.18、则可以参考此示例(它使用 STK、但相同的概念适用于 launchpad)

    文件://C:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/examples/TI/CC2650STK/i2ctmp007/README.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sean、

    感谢您的快速响应。 我可以在控制台上打印 I2C 温度值、但问题是无法将此数据发送到 BLE 服务。 我的问题更像是:如何在 BLE 任务中运行 I2C 任务?

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

    我也遇到了建林所说的问题。 我想知道您是否可以跟进?

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

    您好!

    为了与 BLE-STACK 通信、必须启用 TI-RTOS 任务。 下面有一节介绍了如何将 ICALL 功能添加到现有任务中:

    但是、我建议的方法与此相反。 从已包含 BLE 的项目(即 Project Zero)开始、并将 I2C 代码添加到该任务中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我们还将举例说明从 tmp007读取 I2C 传感器数据并通过 BLE 进行发送。 它即将在 dev.ti.com/tirex/#/上的 SimpleLink Academy 模块中推出。 保持发布。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sean 提到的温度读数 SimpleLink Academy 实验现已上线! 您可以在 CCS Resource Explorer 中的 SimpleLink Academy 中或在 dev.ti.com 的 Software->SimpleLink CC2640R2 SDK - v:1.30.00.25 -> SimpleLink Academy 文件夹中找到它。 它称为 蓝牙低耗能+传感器 BoosterPack。 如果您有任何疑问、请尝试一下、并告知我们!

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

    谢谢你 Rachel! 我一定会看这个例子。  

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

    我对该示例的线程管理有疑问。 在该示例中、随着温度的变化、这意味着特征值正在变化。 在这种情况下、char_changeCallBack 函数是否会持续捕获最新的温度值、或者仅当客户端调用读取该值时、温度测量线程才会被激活?

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

    尊敬的 Jianlin:

    SimpleLink Academy 实验模块仅显示如何创建具有读取属性的新服务和特征。 因此、它仅在器件收到读取请求时更新。 为了持续更新、您需要启用通知。 如果您需要有关启用通知的帮助、可以在 自定义配置文件实验中查看任务5

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

    我已经发布了另一个关于使用32kHz 无晶振模型的问题。 我还在使用 CC2650 LP 上的 Project Zero 示例。 我遵循了"在不使用32kHz 晶体的 CC2640上运行 BluetoothRegistered低耗能"指导。
    但是、当我在修改 Project_Zero_app 项目时遇到以下错误时:

    #1965无法打开源文件"ti/drivers/power/PowerCC26XX.h"rcosc_calibration.c/ProjectZeroApp_CC2650LAUNCHXL/StartupLine 54C/C++ problem
    #20标识符"CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC_M"未定义ccfg_app_ble_rcosc.c/ProjectZeroApp_CC2650LAUNCHXL/Startupline 461C/C++ problem
    #20标识符"CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC_S"未定义ccfg_app_ble_rcosc.c/ProjectZeroApp_CC2650LAUNCHXL/Startupline 461C/C++ problem
    #20标识符"CCFG_SIZE_AND_DIS_FLAGS_DIS_GPRAM_M"未定义ccfg_app_ble_rcosc.c/ProjectZeroApp_CC2650LAUNCHXL/Startupline 460C/C++ problem
    #20标识符"CCFG_SIZE_AND_DIS_FLAGS_DIS_GPRAM_S"未定义ccfg_app_ble_rcosc.c/ProjectZeroApp_CC2650LAUNCHXL/Startupline 460C/C++ problem
    #20标识符"PowerCC26XX_CALIBRATE "未定义CC2650_LAUNCHXL.c/ProjectZeroApp_CC2650LAUNCHXL/StartupLine 102C/C++ Problem
    #20标识符"PowerCC26XX_Config"未定义CC2650_LAUNCHXL.c/ProjectZeroApp_CC2650LAUNCHXL/StartupLine 99C/C++ Problem
    #20标识符"PowerCC26XX_standbyPolicy"未定义CC2650_LAUNCHXL.c/ProjectZeroApp_CC2650LAUNCHXL/StartupLine 101C/C++ Problem
    gmake:***[Startup/CC2650_LAUNCHXL.obj]错误1ProjectZeroApp_CC2650LAUNCHXLC/C++问题



    请告诉我如何设置正确的配置并启用 RCOSC_LF?

    除此之外,我将使用4*4 CC2640封装,我应该更改什么电路板配置? 我发现几乎每个示例都基于7*7封装芯片。 您能否提供有关小型封装芯片的示例?

    谢谢、
    建林