与主机DA14580的多个从(DA14580)连接

5个职位/0个新职位
最后一篇文章
兰迪尤
离线
最后一次见到:3年2周前
已加入:2015-01-28 08:49
与主机DA14580的多个从(DA14580)连接

嗨对话框

我修改了最新的DSPS(主机)项目,我使用“da1458x\u config\u basic.h”,我将CFG\u MAX\u CONNECTIONS参数更改为6,以允许多个从机连接。
但是,一旦第一个从机(DA14580)建立了连接,另一个从机(DA14580)就无法连接到主机(DA14580),接下来我就不知道如何修改这个项目了,可以吗
帮助我?请给我一些建议或介绍这个功能的文档。

谢谢!

关键词:
设备:
MT\u对话框
离线
最后一次见到:4个月3周前
工作人员
已加入:2015-06-08 11:34
你好RandyYu,

你好RandyYu,

请检查下面的帖子http://support.dialog-semiconductor.com/dsps-connect-few-peripheral-one-....

谢谢你的对话

MSun公司
离线
最后一次见到:11个月1周前
已加入:2015-11-30 22:40
可以修改DSP

可以修改dsp以支持多个外围设备。

但您必须深入了解DSPS代码体系结构,并进行大量的修改。

我们已经成功地做到了,但你必须小心行事。

几点注意事项

您需要决定如何处理UART端口。你打算在所有外设之间共享一个UART端口吗?
-这当然很奇怪。。。在我们的例子中,我们在一个共享UART端口上添加了一个“多路复用”数据协议。
-DA14580上有一个第二个UART,因此您也可以选择专用第二个UART端口。。。但这只允许支持2个外设
-RTS/CTS流控制。。。当支持多个外围设备时,您需要弄清楚如何处理这个问题。
-你需要决定你想在这里完成什么

修改连接策略
-目前,DSPS连接到它找到的第一个DSPS外围设备
-您需要确定自己的策略,并适当地修改代码。

修改DPSP代码以支持多个实例
-当引用一个keu TASK\u id\t结构时,许多DSPS代码只是使用“TASK\u SPS\u CLIENT”
-这是一个简短的代码。。。它实际上是指连接索引0(conidx=0)上TASK_SPS_CLIENT的实例
-您需要修改所有这些调用以在整个过程中使用“TASK\u SPS\u CLIENT”的“正确”实例全部适当的代码

-例如。。。原来的DSPS代码可能有这样的东西。。。

struct sps_client_data_tx_req*req=KE_MSG_ALLOC_DYN(sps_client_data_tx_req,TASK_sps_client,TASK_APP,sps_client_data_tx_req,MSG->length);

-您需要将其更改为这样的内容,以便正确引用任务\u SPS\u客户端的正确实例

keu task\u id\u t task\u sps\u client\u instance\u id=keu BUILD\u id(task\u sps\u client,conidx);
struct sps_client_data_tx_req*req=KE_MSG_ALLOC_DYN(sps_client_data_tx_req,task_sps_client_instance_id,task_APP,sps_client_data_tx_req,MSG->length);

但如前所述,要使其发挥作用,您必须深入了解DSP的所有操作。
谢谢,马丁

MT\u对话框
离线
最后一次见到:4个月3周前
工作人员
已加入:2015-06-08 11:34
你好,先生,

你好,先生,

感谢分享您的实现。

致以最诚挚的问候

普拉桑特,天鹅绒。。。
离线
最后一次见到:2年1个月前
已加入:2016-02-18 12:18
嗨对话框

嗨对话框

正如姆森先生在上述帖子中提到的,
无效用户\u sps \u enable(uint16 \u t conhdl)
{
keu task\u id\u t task\u sps\u client\u instance\u id=keu BUILD\u id(task\u sps\u client,app\u env\u vp.devices[conhdl].conidx);
struct sps\u client\u enable\u req*req=KE\u MSG\u ALLOC(sps\u client\u enable\u req,task\u sps\u client\u instance\u id,task\u APP,
sps(客户端启用请求);

//填写参数结构
请求->conhdl=app\u env\u vp.devices[conhdl].conhdl//需求->控制盘=控制盘;
req->con\ U type=PRF\ U con\ U发现;
}
像这样,我是否必须更改所有其他函数??=>void user\u send \u ble\u data(const uint8\u t*data,uint16\u t length)无效用户发送\u ble\u数据
=>无效用户发送流控制(uint8\u t流控制)
为此,我必须从下面的所有函数传递param->conhdl吗??
=>用户\u sps \u客户端\u启用\u cfm \u处理程序
=>用户\u sps\u客户端\u数据\u tx\u cfm\u处理程序
=>用户\u sps \u客户端\u数据\u rx \u ind \u处理程序
=>用户\u sps \u客户端\u发送\u流\u控制\u索引\u处理程序,
感谢对话