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.

[参考译文] CC2340R5:计时器中断及数据流示例

Guru**** 2589265 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1386975/cc2340r5-timer-interrupt-with-data-stream-example

器件型号:CC2340R5

工具与软件:

团队成员、您好!

我正在寻找有关 使用数据流示例实现计时器中断的帮助。 我要在每个规定的时间使 LED 闪烁。

我提到   在 论坛问题上提供的 SLA 链接 、但它无法正常工作。 在这方面需要帮助,因为我被卡在某些关键点。
此外、SLA 页面上的信息不正确、并且页面上的计算器无法正常工作。

提前感谢。
Bhavik

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

    您好、Bhavik、

    对于由计时器(如 ClockP)触发的周期性中断、您可以执行以下操作:

    1. 在 app_main.c 中的 appMain()内:                                                                                                                             
          ClockP_Params_init(&clockpParams);
          uint32_t clockTicks = GATTLIMIT_TIME_UNIT * (CLOCK_MS);
          clockpParams.period = clockTicks; //one-shot timer
          clockpParams.startFlag = true;
          clockpParams.arg = (uintptr_t)clockHandler;
          // Initialize clock instance.
          gattLimit_clkHandle = ClockP_construct(&gattLimit_clkStruct, (void *)BLEAppUtil_invokeFunctionNoData, clockTicks, &clockpParams);
          // Call the BLEAppUtil module init function
    2. 确保包含以下定义、库和全局变量:
      #include <ti/drivers/dpl/ClockP.h>
      static ClockP_Struct gattLimit_clkStruct;
      ClockP_Handle gattLimit_clkHandle;
      ClockP_Params clockpParams;
      #define GATTLIMIT_TIME_UNIT  6000 //ms (to be modulated based on expected connection interval and signal quality)
      #define CLOCK_MS 1000
    3. 定义您的回调函数(每 X 个周期触发一次)-在此处、它将每6秒闪烁一次红色 LED:
      static void clockHandler(void)
      {
          GPIO_toggle(CONFIG_GPIO_LED_RED);
      
      }

    希望这对您有所帮助。

    David。