Part Number:CC2640R2F
主机与从机建立通信,20ms连接间隔,主从机无数据传输时,主机不会死机。
进行数据发送测试后,一段时间后主机会死机,这时从机又能被搜索到,主机中有LED闪烁,发现LED已经不闪烁。
其中主机中有一个串口任务,串口任务每20ms发送一次,每1s接收一次。
请问我该如何分析?
Kevin Qiu1:
看起来像是发送数据太快了,你可以将连接间隔改大一些看看
具体的情况还需要提供抓包文件进行分析
,
caiyu:
您好,抓包文件怎么分析?我看了丢包前后的数据包,没有分析出什么。
,
caiyu:
4.7死机1.zip这是我刚抓的包,您可以告诉我怎么分析吗谢谢
,
Kevin Qiu1:
不清楚你是用什么抓包的,抓包文件没有发现数据传输的信息,大多是广播信息
建议你使用专业的抓包工具Frontline Sniffer 或 Ellisys抓包
,
caiyu:
wireshark 抓的包。后面就是连接中断了。
,
Kevin Qiu1:
我指的是抓包的dongle,如果你使用的是CC2640r+SmartRF Packet Sniffer 2,它只能抓到广播包,不能抓到连接数据包
需要使用专业的抓包工具Frontline Sniffer 或 Ellisys来查看具体的信息
,
caiyu:
您好,是这种的数据包吗?我用的NRF52832模块 USB Dongle
,
Kevin Qiu1:
看起来是类似这种,但我没有用过这个抓包
上面说的增加连接间隔试了吗
,
caiyu:
您好,一般分析数据包中的什么内容?
Kevin Qiu1 说:看起来是类似这种
这个还没有测试,我回去测试下,
Kevin Qiu1 说:上面说的增加连接间隔试了吗
针对这个帖子,从机链接事件丢失问题,https://e2echina.ti.com/support/wireless-connectivity/bluetooth/f/bluetooth-forum/219011/cc2640r2f
从机出现连接事件丢失时,主机并不会死机。但是死机时,从机的连接情况无法通过射频映射IO去观察,因为不知道什么时候主机会死机。
首先,1.主从机连接事件,无论有没有数据要发送,应该都会有连接事件吧?没有数据发送时,会发送空数据,不应该有连接事件丢失的情况吧?我映射的是PA(IOC_PORT_RFC_GPO1),
2.我这里的应用情况是这样的。假设我的发送间隔是19.6ms(即每隔19.6ms,SimpleProfile_SetParameter一次),而我设置的连接间隔是20ms。
一个连接事件差0.4ms,50个连接事件将差20ms。然后会出现一次连接事件有2次发送。这会导致连接事件丢失吗?
,
Kevin Qiu1:
caiyu 说:您好,一般分析数据包中的什么内容?
专业的抓包工具会有数据传输过程每一步的详细信息,可以看到是哪一步没有传输成功
caiyu 说:1.主从机连接事件,无论有没有数据要发送,应该都会有连接事件吧?没有数据发送时,会发送空数据,不应该有连接事件丢失的情况吧?
是的
发送间隔要大于连接间隔,否则可能会收不到数据
,
caiyu:
// if(Uart_enqueueMsg(UART1TASK_RX_EVENT,0,uartdata)!= SUCCESS)// {// ICall_free(uartdata);// } Uart_enqueueMsg(UART1TASK_RX_EVENT,0,uartdata); ICall_free(uartdata);
死机原因,大概率定位到这两行代码,请问屏蔽处和后两行,对程序影响的原因是什么。