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:通过 UART 持续推送数据、并尝试将连接器件进入 faultISR。

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1486095/cc2340r5-continuously-pushing-data-over-uart-and-attempt-of-connection-device-enters-into-faultisr

器件型号:CC2340R5

工具与软件:

您好!

当前使用的是 CC2340R5  basic_ble_oad_onchip 外设项目。  

我们遇到的问题是、在每200ms 通过 UART 连续推送248字节(最大 MTU 交换值)的数据、以传输到中央设备(移动 设备1)、中央设备已连接、尝试断开连接并再次尝试连接、设备成功建立链接并在重新连接时完成加密、但立即进入 faultISR。

这里我已附加了配置映像和 UART 回调函数代码、供您参考。

void UARTCallback(UART2_Handle handle, void *buffer, size_t count, void *userArg, int_fast16_t status)
{
    uartPacketSize = count;
    // The following is executed in a callback / SWi / HWI context
     BLEAppUtil_invokeFunction(HandlingFunction, NULL);
        
}
void HandlingFunction(char *pData)
{ 
	bStatus_t Status = FAILURE;
	Status = SimpleGattProfile_setParameter(SIMPLEGATTPROFILE_CHAR4, 248,(void*)&uartReadBuffer[0]);
	UART2_write(uart, &Status, 1, 0);
	uartPacketSize = 0;
    memset(uartReadBuffer,0,sizeof(uartReadBuffer));
    UART2_read(uart, &uartReadBuffer, UART_MAX_READ_SIZE,0);
}

SDK 版本:simplelink_lowpower_f3_sdk_8_10_01_02

CCS 版本:CCS 12.7.1

谢谢!

Vignesh。

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

    尊敬的 Vignesh:

    您能否在问题发生之前和问题发生之后共享 ROV 中的堆和任务信息?

    此致、

    1月

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

    您好、Jan:

    在 ROV 中找到的堆和任务信息  (无连接且无 UART 数据发送)。

     在 发生问题之前、在 ROV 中找到的堆和任务信息是 :在连接状态下每200ms 通过 UART 连续推送248字节(最大 MTU 交换值)的数据。

     问题发生后在 ROV 中找到堆和任务信息

    谢谢!

    Vignesh。

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

    尊敬的 Vignesh:

    任务大小一目了然。 我认为这可能会发生某种竞态情况、其中 UART 写入 API 或调用是在错误的时间或从错误的上下文进行的。 作为快速测试、您可以尝试创建一个新任务来处理 UART 操作并向 ICall 订阅该任务吗?

    此致、

    1月