没有BLE连接的DSP问题

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
kurbylee.
离线
最后一次露面:3年8个月前
加入:2014-11-05 09:10
没有BLE连接的DSP问题

嗨,对话
背景:
硬件:DA14580 <== UART ==>传感器;只有RX和TX,没有RTS和其他连接;
软件:DSPS.
SDK504;
app_default_sleep_mode = arch_sleep_off;
#undef cfg_uart_hw_flow_ctrl.

我的传感器将通过UART_SPS将数据传输到DA14580:
1>如果使用DSP应用程序连接到手机,似乎所有的Func都可以;
2>如果没有BLE连接,传感器将连续发送数据,BLE(14580芯片)将关闭并重置,特别是来自感觉的大规模数据。

我的要求:
1>在有连接时将UART数据从感觉转移到电话;
2>在没有连接时,本地处理DA14580中的数据;

我将app_easy_timer从缓冲区中使用app_ble_pull数据,下面的过程
1> timerid = app_easy_timer(Intl,timer_cb)
2> timer_cb.
{user_ble_pull(false,true);
timerid = app_easy_timer(Intl,timer_cb);
}
3>在user_ble_pull中
{......
......
if(ke_state_get(task_app)> = app_security)user_send_ble_data(p_data,长度);
else my_proc(p_data,长度);
......
......
}

问题:
因为有时感觉数据是质量,所以EasyTimer的IntL约为2 * 10ms 4 * 10ms或6 * 10ms等。
有时,当数据很少时,一切都好;
但质量数据有问题
1>丢失一些数据;
2>拉动重复数据;
3>芯片自动重置

我试着一些方法
1> #undef cfg_uart_sw_flow_ctrl
2>更改计时器的INTL;
3>否使用easytimer并将my_proc放在user_periph_push()中;
4>在my_proc中添加或删除一些Func;

但是当没有BLE连接时,我无法完美地解决问题;
你可以提供一些解决这些问题的建议吗?
谢谢!!

关键词:
设备:
mt_dialog.
离线
最后一次露面:4个月3天前
职员
加入:2015-06-08 11:34
嗨Kurbylee,

嗨Kurbylee,

由于您不使用H / W流量控制,您应该使用S / W流量控制,无睡眠以便不丢失数据。我并不完全能够理解你所面临的问题,从我理解的是,当没有连接时,设备从传感器读取数据,在某些时候设备重置(我的理解是正确的?)。由于这是我可以假设设备因内存不足而重置的原因(因为它发生了很多数据,因此当您有很多数据时,尝试在Wrap_platform_reset中放置断点())检查FW是否通过该函数。

谢谢mt_dialog.

kurbylee.
离线
最后一次露面:3年8个月前
加入:2014-11-05 09:10
谢谢你的回复。

谢谢你的回复。
我的现象就像:https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...--software / rxbufferitemcount尺寸增加

我将DA14580直接通过2线(UART_SPS_RX和TX)连接到PC。当没有BLE连接时,我将数据从PC传输到DA14580,并不别的。当数据很小时,一切都可以。
但是,当数据很大时,例如50bytes / 10ms,DA14580将自动复位。

mt_dialog.
离线
最后一次露面:4个月3天前
职员
加入:2015-06-08 11:34
嗨Kurbylee,

嗨Kurbylee,

有很多东西可以使设备自动重置,如前所述,从您报告的内容我只能假设它发生这种情况,并且由于内存而导致的,如果例如,您可以从传感器获取数据您正在分配消息,以便在连接设备时立即发送数据,这些设备最终会用完内存,如果设备运行耗尽内存,则会导致设备重置。

谢谢mt_dialog.