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.

[参考译文] CC2541:simplebleperipheral 项目中 CC2541的延迟函数

Guru**** 2768525 points

Other Parts Discussed in Thread: CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/841516/cc2541-delay-function-for-cc2541-in-simplebleperipheral-project

器件型号:CC2541

您好!

我将使用 IAR for CC2541进行开发。 需要 simplebleperipheral 项目中的延迟函数、我阅读了有关 HalLcd_hw_WaitU ()函数的信息、但我找不到它。

有人能提供帮助吗、请

此致、  

Vito

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

    尊敬的 Vito:

    我建议您为此目的使用 OSAL 计时器、类似于周期性事件。

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

    您好、Joakim、

    我创建了事件并使用了 osal_Start_timerEx 函数、但它不起作用。 我在 cc2541上使用简单的 BLE 外设项目进行开发。 广播10秒(通用模式)后、我必须切换 GPIO 引脚。 我插入了函数  

    OSAL_START_timerEx (simpleBLEPeripheral_TaskID、SBP_DONE_EVT、SBP_DONE_EVT_PERIOD)

    在 GAPROLE_advertisingcase 中生成一个10秒计时器。 (#define SBP_DONE_EVT_PERIOD  10000)

    然后、我创建了与周期性事件类似的事件:

    if (事件和 SBP_DONE_EVT)

    //重新启动计时器
    if (SBP_DONE_EVT_PERIOD)

    OSAL_START_timerEx (simpleBLEPeripheral_TaskID、SBP_DONE_EVT、SBP_DONE_EVT_PERIOD);
    P1_7 = 1;  // GPIO 引脚在10秒后切换


    返回(事件^ SBP_DONE_EVT);

    可以帮帮我吗?

    此致、  

    Vito

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

    您是否在代码中设置了断点以验证它不起作用?

    清除 P1.7的位置。 要进行切换、您应该对该位执行异或运算:

    P1_7 ^= 1;  // GPIO 引脚在10秒后切换