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:关于 CC2340R5评估板,在自定义无线功能的接收例程下、启用无线接收后、如何执行其他功能要求

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1337232/cc2340r5-about-the-cc2340r5-evaluation-board-under-the-receiving-routine-of-the-custom-wireless-function-how-can-i-perform-my-other-functional-requirements-when-the-wireless-reception-is-enabled

器件型号:CC2340R5

嗨、团队:

  关于 CC2340R5评估板,在接收例程下的自定义无线功能下、当启用无线接收时、我如何执行我的其他功能要求。非常感谢。

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

    尊敬的 Ixy:

    rfPacketRx 非常简单地用于在不退出的情况下持续接收数据包(rclPacketRxCmdGenericRx.config.repeed = 1)。  一些选项包括:

    • 到 post/pend 信标的线程同步(请见 uart2callback.c)、此信标将允许访问主 while 循环。  这是首选方法、因为它在任何时候都不会退出 RX 命令。
    • 退出 RX 命令、执行函数、然后 重新提交 RX 命令(所有这些都在 while 循环中)。  有关示例、请参阅 rfEchoRx。  执行功能时、RX 将暂停。

    此致、
    瑞安

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

    您好、

    感谢您的答复。我看了 UART 的例程,发现该例程没有执行无线接收。 我们希望程序在进入主循环的同时继续进行无线接收。 我们能像这样运行吗?非常感谢。

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

    提供的 uart2callback 仅作为信标使用示例、而不是射频操作。  向 rfPacketRx 示例添加信号量。

    此致、
    瑞安

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

    您好、 

    感谢您的回复。我可以想象您建议的场景,但这不是我们想要的。 我们想知道、在进行 IO 翻转操作功能时、芯片是否能检查是否有射频数据。 例如、以下代码、我调试 IO 翻转未执行。非常感谢。

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

    由于 默认情况下不在该项目中使用 CONFIG_GPIO_RLED、请确认是否正确配置此引脚。

        /* Configure the LED pin */
        GPIO_setConfig(CONFIG_GPIO_RLED, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);

    可以从主线程控制 GPIO 后、可以尝试在回调中进一步调试其使用情况。  您还应在 CCS 调试器内设置断点、以确保代码确实能够执行该行。

    此致、
    瑞安

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

    您好、 

    谢谢您的回复。我明白您的意思。 我的代码已在其他位置初始化、同一初始化 LED 可以正常工作。 我想确认芯片是否能在无线接收的同时翻转 IO 操作。非常感谢。

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

    在 活动模式下、CC2340R5能够 在 无线电接收器模式下切换 GPIO。  如果这是您无法观察到的唯一代码执行情况、则可以考虑将 GPIO 函数置于回调之外。  您还应该进一步使用前面提到的调试工具。

    此致、
    瑞安

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

    您好、 

    感谢您的回复。我用调试器来调试断点。 在调试过程中,我发现系统在进行无线接收时无法在回调函数之外执行 IO 翻转(如下图所示),也无法在回调函数内部执行 IO 翻转(如下图所示)。非常感谢。

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

    对于与在回调函数(即 while 循环)外部切换相关的第一个实例、您还必须将 rclPacketRxCmdGenericRx.config.doided 设置为零、否则 RCL_Command_pend 永远不会完成。  从 rfEchoRx 示例收集更多信息。

    对于第二个实例、如果 rclEvels.rxEntryAvail if 语句内的 GPIO_toggle 正常运行、则应进一步调试计数操作、以确定导致该语句从不执行的原因。

    此致、
    瑞安

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

    您好、 

    。您的 ,,对于第一个关于在回调函数(即 while 循环)之外切换的实例、我想设置 rclpacketrxcmdgenericrx.config。重复到1 μ s、我也想输入 while (1),implement multi-task switching。有办法做到这一点吗?非常感谢

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

    如果设置了重复、则 RCL_Command_pend 永远不会退出、因此您应该放弃这种用法、 而是依靠信标来执行来自 RX 回调的挂起/发布。

    有关创建多个任务的信息、请参阅 《BLE5-Stack 用户指南》的"任务"一节。

    此致、
    瑞安

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

    您好、 

    感谢您的回复。对于第一个关于在回调函数外部切换的实例(即 while 循环)、 我想设置 rclpacketrxcmdgenericrx.config。重复到1,μ s 此外、我同时打开定时器并中断芯片、 代码可以运行定时器中断服务函数代码吗?非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外,我同时打开定时器和芯片中断,代码可以运行定时器中断服务函数代码吗?

    请提供进一步的上下文、因为这是本主题中讨论计时器的第一个实例。  定时器和无线电可以同时工作。  如果两者都有中断、则将根据它们的优先级依次处理这些中断。   

    此致、
    瑞安