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.

[参考译文] LP-EM-CC2340R5:如何从另一个任务更新字符值

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1361876/lp-em-cc2340r5-how-to-update-character-value-from-another-task

器件型号:LP-EM-CC2340R5

我已经在 perphiral 端的 basic_ble 中创建了另一个任务、并调用  

SimpleGattProfile_SetParameter (SIMPLEGATTPROFILE_CHAR4、sizeof (uint8_t)、&charValue4);
但只要中央设备与其连接、它就会崩溃。
我们是否有此操作的示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据您的描述、我假设您致电  SimpleGatt Profile_SetParameter  完成的。 您可以使用  BLEAppUtil_invokeFunctionNoData 和 BLEAppUtil_invokeFunction 函数将上下文切换到 BLE App Util 任务上下文。  请查看以下片段:

    void myHandler(void *pData)
    {
        // ... insert your code here
        SimpleGattProfile_setParameter( SIMPLEGATTPROFILE_CHAR4, sizeof(uint8_t), &charValue4 );
    }
    
    void *myTask(void *arg0)
    {
        // ...
        char *data = BLEAppUtil_malloc(sizeof(char));
        BLEAppUtil_invokeFunction(myHandler, data);
    }

    也可以按照 用户指南(任务—SimpleLink CC23xx SDK BLE5-Stack 用户指南3.02.04.00文档)中所述、创建其他启用 ICall 的任务、但不建议根据我对用例的理解进行创建。