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-CC2650:如何使用 SWI 或任何其他方法在 Sensor Controller Studio 中设置 I2C (OPT3001)和 LED 发光任务、其中 LED 指示的值大于阈值?

Guru**** 2553260 points
Other Parts Discussed in Thread: OPT3001, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/581612/launchxl-cc2650-how-to-setup-i2c-opt3001-and-led-glow-tasks-in-sensor-controller-studio-where-led-indicates-values-more-than-a-threshold-using-swi-or-any-other-method

器件型号:LAUNCHXL-CC2650
主题中讨论的其他器件:OPT3001CC2650

我已经能够成功运行使用 OPT3001传感器的 I2C 光传感器示例和仅使用 Sensor Controller Studio 的 CC2650 Launchpad 中的 LED 闪烁示例。

我想进一步整合其中的两个、以便当读数超过特定预定义阈值时、红色 LED 会发光、否则它将保持关闭状态。 我希望仅使用传感器控制器实现这一点。 就我阅读并理解"入门指南"而言、可能只有一个"事件处理程序代码"、它已经用于 I2C 器件、这使得事情变得很复杂。 我首先打开了 I2C 示例、然后添加了一个命名为"LED 发光"的新任务。 在"任务资源"中、我将其设置为"数字输出引脚"、这与 LED 闪烁示例完全相似。 然后、在 I/O 映射部分、我将引脚设置为红色 LED。

问题

之后、我不知道该怎么做。 我不理解如何使用 I2C 任务的全局变量"value"来保存传感器读数并对其进行监控以使 LED 发光。 如何编写一份"if statement"、具体在哪里? 如何初始化它? 至于"任务执行"、我是否将其设置为根据 RTC 或 I2C 任务中的 SWI 执行。 如果我选择 SWI,那么如何编辑 I2C 任务中的代码来发布 SWI? 如果没有必要为 LED 发光创建单独的任务、那么我如何更改 I2C 任务本身以使 LED 发光?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Shantam、
    只需使用单个任务、然后执行以下任一操作:
    1)
    在与 I2C 光传感器任务相同的任务中启用数字输出。
    通过事件处理程序代码控制 LED。
    在事件处理程序代码中编写 if 语句、以检查结果是否高于您确定的阈值。
    2)
    只需控制主应用程序(CM3上的 TI-RTOS)的 LED。 发送:
    fwGenAlertInterrupt(); //将触发 ALERT 中断并唤醒 cm3。
    fwGenQuickAlertInterrupt();//相同,但它会立即触发事件。

    请考虑参加 Simplelink Academy 中的传感器控制器培训:
    software-dl.ti.com/.../overview.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Erik 的建议。 我能够提出你的第一个建议。 现在、我将尝试第二个。