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.

[参考译文] CC2340:CC2340是否支持 RSSI 读取?

Guru**** 2547050 points
Other Parts Discussed in Thread: CC2340R5, CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1178692/cc2340-is-the-rssi-read-supported-for-cc2340

主题中讨论的其他器件:CC2340R5CC2640

在 CC2340R5的 simple_central 示例中、  配对成功后、我在 SimpleCentral_processPairState 中添加了 SimpleCentral_StartRssi、在  SimpleCentral_removeInfo 中添加了 SimpleCentral_CancelConnssi。 我尝试在 SimpleCentral_processCmdCompleteEvt 中读取 pMsg->cmdOpcode = HCI_READ_RSSI 中的 RSSI。 但是、输出始终为0x7F。

我有用于 CC2640的相同代码、它工作得非常完美。 CC2340是否支持 RSSI 读取?

static void SimpleCentral_processCmdCompleteEvt(hciEvt_CmdComplete_t *pMsg)
{
  switch (pMsg->cmdOpcode)
  {
    case HCI_READ_RSSI:
    {
      uint16_t connHandle = BUILD_UINT16(pMsg->pReturnParam[1], pMsg->pReturnParam[2]);
      HUART_Printf("\r\nRSSI 0x%04x %d", connHandle, (int8)pMsg->pReturnParam[3]);
      break;
    }

    default:
      break;
  }
}

一个奇怪的现象是:如果 在 配对成功之前 SimpleCentral_StartRssi 已添加到 SimpleCentral_addConnInfo 中、则 UART RX 回调函数停止工作。 它有何关联?

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

    您好!

    感谢您的参与。

    恐怕读取 RSSI 值的可能性尚未在堆栈中实现。

    当谈到您对 UART RX 回调的观察结果时、确实令人惊讶。 一般来说、使用未完全实现的函数可能会导致意外行为。 在您的情况下、很难猜测出出现了什么问题、但这是否是内存问题? 如果您有兴趣调试这个问题(我将让您判断这个问题是否相关)、我建议您参阅用户指南中包含的调试指南(请参阅 SDK 的 docs 文件夹中的)

    此致、

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

    感谢您的快速响应。 由于 RSSI 值目前不可用、我已经将其注释掉。 此外、编译器优化设置必须为0。 否则、一旦连接了蓝牙器件、UART Rx 将被阻止。 到目前为止、所有更改都没有观察到 UART Rx 块。

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

    您好!

    感谢您的介绍!

    此致、