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:向 Project Zero 添加信号量?

Guru**** 2563960 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/568461/launchxl-cc2650-adding-semaphore-to-project-zero

器件型号:LAUNCHXL-CC2650

您好!

  我正在尝试将 tirtos_lab1_cc2650launchxl 集成到 Project Zero。  tirtos_lab1_cc2650launchxl 通过.cfg 文件创建信号量实例。 我对 Project Zero 执行了相同的操作、但我在下面看到了这些错误。 导致这种情况的原因是什么。

错误消息:

说明资源路径位置类型

#20标识符"urgentWorkSem"未定义 project_zero_bds.c /project_zero_app_cc2650launchxl/Application line 941 C/C++ problem
#20标识符"urgentWorkSem"未定义 project_zero_bds.c /project_zero_app_cc2650launchxl/Application line 946 C/C++ problem

  我在 project_zero.c 中看到了该声明。 我是否需要执行同样的操作?  

//全局信号量,用于将事件发布到应用程序线程
静态 iCall_Semaphore SEM;

-克尔

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

    尊敬的 Markel:  

    是的、您需要像"sEM"那样声明信标。 请记住、如果您在.c 文件中静态声明它、则无法通过不同的文件使用它。 在这种情况下、您需要使用"extern "关键字。

    此致、  

    Klas

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

    您好 Klas、

      如果您在 SimpleLink Academy 模块中提到了这一点、那会更好。 我将尝试并使其正常工作。 无论如何、谢谢。

      以便为 BLE 制作信号量。

    1. 我不需要在 TI-RTOS .cfg 文件中建立信号量实例
    2. 我需要在下面声明这些内容。

    //全局实体 ID,用于检查消息的来源和/或目的地
    extern iCall_EntityID urgentworkselfEntity;

    //全局信号量,用于将事件发布到应用程序线程
    extern iCall_Semaphore urgentworkSem;

    静态空 urgentWork_init (空)


      iCall_registerApp (urgentworkselfEntity、urgentworkSem);

    静态空 urgentWork_taskFxn (UARg a0、UARg A1)

      urgentWork_init();

      while (1)

      {

        Semaphore_pend (urgentworkSem);

        do urgentwork ();

      }

    发布信标"

    Semaphore_post (urgentworkSem);

    -克尔