跳到主要内容

从UART发送大量数据后,DSP直通停止工作

DA14580

一年前

邮寄人亚速尔杨0分 3答复
0票

你好,

我正在处理一个基于14580的DSPS项目,并修改了默认DSPS项目的以下更改:

1. #undef CFG_MEM_MAP_EXT_SLEEP

2.将应用程序默认睡眠模式值更改为ARCH睡眠关闭

3.将GPIO_UART1_RX_引脚更改为GPIO_引脚2

4.使用CFG_UART_SW_FLOW_CTRL而不是CFG_UART_HW_FLOW_CTRL

在应用端,我发送和接收**5cb8和**5cba特性的数据,我观察**5cb9特性以获得流状态的通知,但它只通知我一次,值为1,这意味着我可以将数据从应用发送到设备,对吗?

我遇到的问题是:BLE和UART之间的passthrough工作正常,但运行了一段时间后,UART端向BLE发送了很多数据,passthrough似乎停止了,但我没有看到任何异常抛出,我的应用程序上仍然可以发现BLE信号,所以我认为固件没有挂起,只有当UART向BLE发送了大量数据后,传递才起作用

谢谢

一年前

PM_对话框

嗨,杨先生,

很抱歉,我对你的描述有点困惑。你能解释一下你的问题吗?

>>传递似乎停止了,但我没有看到任何异常抛出

您的意思是,该设备已断开与移动应用程序的连接,但它正在进行广告宣传?您正在使用的移动应用程序是什么?您使用的是我们的DSPS移动应用程序还是我们的其他BLE通用应用程序?

>>>因此,我认为固件没有挂起,只是在UART向BLE发送了大量数据后,passthrough无法工作

您可以运行I-tin调试模式吗?

在您最初的帖子中,我看到您正在使用软件流控制。你能试试硬件流量控制(RTS/CTS)吗?

谢谢,下午好

一年前

亚速尔杨 0分

你好,下午对话,

谢谢你的回复!

>>您的意思是,该设备已断开与移动应用程序的连接,但它正在进行广告宣传?您正在使用的移动应用程序是什么?您使用的是我们的DSPS移动应用程序还是我们的其他BLE通用应用程序?

不,BLE工作正常,发生此问题后,我可以连接\断开它与LightBlue的连接。但是没有从UART接收数据,我的意思是BLE端只是等待,没有传入数据。

>>您可以运行I-tin调试模式吗?

您能告诉我如何运行“I-tin”调试模式吗?

>>在您最初的帖子中,我看到您正在使用软件流控制。你能试试硬件流量控制吗

我不能使用硬件流量控制,因为UART端只有TX和RX,另外,在移动应用端有什么需要做的吗?我的iOS应用程序已设置为启用流量特性通知,并在FLOW char的值为1时将数据发送到UART端

我正在尝试启用UART2以调试此问题:

1.“da1458x_config_basic.h”中的CFG_PRINTF

2.将P1_2(TX)、P1_3(RX)连接到USB-TTL适配器,然后适配器连接到我的MAC

3.重建DSPS项目,通过SPI将其闪存到devkit(basic)中

4.在我的iPhone上使用LightBlue连接BLE

结果:

串行工具已打开USB-TTL的串行端口,但在LightBlue连接到DA14580时没有显示任何内容,我希望它会显示一个字符串:“Device connected”(设备连接),因为有一个“arch_printf”(“Device connected\r\n”);`在用户连接(…)中,请帮助,我是否遗漏了什么?

谢谢

一年前

PM_对话框

嗨,杨先生,

我的意思是在调试模式下运行它,但是由于它运行正常,所以不需要在调试模式下运行它。

>>>我不能使用硬件流量控制,因为UART端只有TX和RX。

您是否使用串行终端从PC发送数据?如果是,请共享配置好吗?另外,您在基本DK中使用的跳线配置是什么?您能分享一张照片吗?

谢谢,下午好