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.

[参考译文] CC2640R2F:在使用 UART 等附加功能时在 BLE Observer 中遇到问题

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1465975/cc2640r2f-facing-an-issue-in-ble-observer-while-using-additional-features-like-uart

器件型号:CC2640R2F
Thread 中讨论的其他器件:CC1350

工具与软件:

嗨、团队:  

我将使用 BLE Simple Observer 示例代码、同时还添加了 IPC、UART Rx 和 UART Tx (优先级1)的3个任务。 这里、我面临一个问题、那就是当我执行代码时、BLE Observer 开始扫描、但它在扫描持续时间(5秒)结束后没有完成扫描。 但是 IPC 和 UART 任务运转良好。 如果我禁用 UART 相关的 API、则 BLE 运行正常。  我需要 BLE 和 UART 同时工作。 请帮助我解决该问题。 此处、我附加了主函数片段、

int main()

/*在堆栈中发出的注册应用程序回调到 TRAP 断言*/
RegisterAssertCback (AssertHandler);

PIN_INIT (BoardGpioInitTable);

#ifdef CC1350_LAUNCHXL
//启用2.4GHz 无线电
radCtrlHandle = PIN_OPEN (&radCtrlState、radCtrlCfg);
#endif // CC1350_LAUNCHXL

#ifndef power_saving
/*设置待机、断电和空闲模式的限制*/
POWER_setConstraint (PowerCC26XX_SB_disallow);
power_setConstraint (PowerCC26XX_IDLE_PD_disallow);
#endif //power_saving

#ifdef ICALL_JT
user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
user0Cfg.appServiceInfo->timerMaxMillisecond = iCall_getMaxSecs();
#endif /* ICALL_JT */

/*初始化 ICall 模块*/
iCall_init();

Circul4.72 Buffer_Init ();

IPC_IPC Buffer_Init ();

UART_UART_ Drv_Init ();

/*开始外部映像任务-优先级5 */
iCall_createRemoteTasks();

/*启动配置文件-优先级3 */
GAPObserverRole_createTask ();

/*启动应用程序-优先级1 */
SimpleObserver_createTask ();

UART_4.20nx Task_Create ();

IPC_4.20nx Task_Create ();

/*启用中断并启动 SYS/BIOS *
BIOS_start();

返回0

}

谢谢!

Santhosh。

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

    Santhosh、您好!

    感谢您的咨询。

    您能否分享有关您如何使用 UART 和配置的更多详细信息? 此外、我建议查看以下示例: simple_serial_socket_client 和 simple_serial_socket_server (使用 UART 和 BLE)。

    BR、

    David。

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

    尊敬的 David:

    此处我已附上一些代码片段供您参考、

    UART 任务:

    uart_task_stack_size = 300

    UART_TASK_PRIORITY = 1

    IPC 任务:

    FUNC_TASK_STACK_SIZE = 300

    FUNC_TASK_PRIORITY = 1

    API 序列:

    如果我禁用 UART_IPC、UART 和 Drv_Init 任务 API、则 BLE 运行正常。

    除 SBO_task_priority 之外、BLE Observer 任务在示例代码中按给定的方式进行配置。

    谢谢!

    Santhosh。

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

    Santhosh、您好!

    我明白了、感谢您提供的额外信息。 我建议看看我分享的示例、按照 UART + BLE 的使用方法进行操作、您可以看到无需创建更多任务。 我还想问一下您要从应用角度尝试实现什么?

    BR、

    David。

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

    尊敬的 David:

    此问题已解决、感谢您的支持。

    谢谢、此致、

    Santhosh。