9个职位/0个新职位
最后一篇文章
氰基
离线
最后一次见到:5年10个月前
已加入:2014-11-13 20:59
样本128问题

我试图修改sample128的设计,使它可以处理超过1字节的时间,我没有太多的运气。是否有一个版本可以一次写入超过1个字节?谢谢!

维桑
离线
最后一次见到:5年3个月前
上师 硕士
已加入:2014-06-26 08:49
嗨,蓝精灵,

嗨,蓝精灵,
您可以从为sample128\u task.c第103行中的value属性分配更多空间开始。使用sample128示例中描述的方法创建新服务比使用其他服务更棘手。您可以检查DIS服务文件diss.c和diss\u task.c作为基础

氰基
离线
最后一次见到:5年10个月前
已加入:2014-11-13 20:59
谢谢你的回复

感谢您的回复,Vesa,为value属性分配更多空间是我已经尝试过的。当我这样做时,我到达NMI处理程序中的断点,该断点表示看门狗已过期。

也许有一个比sample128更好的例子让我开始呢?

我的需要很简单,我希望我的移动应用程序发送一个数据请求到DA14580,它将以约30字节的信息作出回应。

维桑
离线
最后一次见到:5年3个月前
上师 硕士
已加入:2014-06-26 08:49
嗨,蓝精灵,

嗨,蓝精灵,

这个错误可能意味着程序被卡住了。关于这个错误很难说什么。我记得128位UUID服务示例中显示的方法非常难以使用,因为有很多幻数. 我建议去看看dis服务。如果打开profiles文件夹中的diss.c和diss\u task.c文件,您会发现使用此方法很容易理解概要文件结构:

常量结构attm\u desc diss\u att\u db[DIS\u IDX\u NB]=
{
//设备信息服务声明
[DIS\u IDX\u SVC]={ATT\u DECL\u PRIMARY\u SERVICE,PERM(RD,ENABLE),sizeof(diss\u DIS\u SVC),
大小(diss\u dis\u svc),(uint8\u t*)和diss\u dis\u svc},
//制造商名称特性声明
[DIS\u IDX\u MANUFACTURER\u NAME\u CHAR]={ATT\u DECL\u CHARACTERISTIC,PERM(RD,ENABLE),sizeof(diss\u MANUFACTURER\u NAME\u CHAR),
大小(diss\u manufacturer\u name\u char),(uint8\u t*)和diss\u manufacturer\u name\u char},
//制造商名称特征值
[DIS\u IDX\u MANUFACTURER\u NAME\u VAL]={ATT\u CHAR\u MANUF\u NAME,PERM(RD,ENABLE),DIS\u VAL\u MAX\u LEN,0,NULL},
...
};

在diss\u task.c中,有一个函数diss\u create\u db\u req\u处理程序,它将为数据库创建服务。看看函数调用attm\u svc\u create\u db()在创建数据库请求处理程序中。不需要手工做魔术计算。

不幸的是,此方法只能使用简短的UUID定义。

我发现用当前的SDK创建新的概要文件非常麻烦。希望在SDK的未来版本中会有一些地役权。

如果您正在创建一个全新的概要文件,请记住修改da14580\u config.h、prf\u utils.c、rwble\u hl\u config.h、app\u api.h、app\u task\u handlers.h和rwip\u config.h。希望我没有遗漏任何文件

如果你只需要回复30字节的数据,你能考虑在广告包中不断发送吗?那么手机就不需要请求数据了。或者,在发送数据之前,您是否还需要向设备发送一些特定的数据?

氰基
离线
最后一次见到:5年10个月前
已加入:2014-11-13 20:59
再次感谢你这么做

再次感谢你这么好的答复。我会仔细看看你说的话,然后继续努力。

我确实需要先向设备发送一些特定的数据,然后发送正确的响应,所有有效的响应都小于30字节。所以这似乎是一个简单的任务,但我显然有一些问题的SDK。

氰基
离线
最后一次见到:5年10个月前
已加入:2014-11-13 20:59
我很幸运使用了

我有幸使用自定义配置文件发送我的30字节,但现在想知道我是否可以添加一个文本菜单通过uart类似的“外围示例”的工作方式。

更详细地说,我想做的是有一个菜单打印通过UART,选择一个选项(1,2,3,4。。。等),并让DA14580保存一个20字节的值,然后可以由我的移动应用程序读取。

关于最简单的实现方法有什么想法吗?我尝试过将它添加到“arch\u main()”中,就像在“Peripheral Examples”中一样,但这似乎一点都不起作用,因为它在将菜单打印到UART时经常崩溃。

谢谢!

维桑
离线
最后一次见到:5年3个月前
上师 硕士
已加入:2014-06-26 08:49
嗨,蓝精灵,

嗨,蓝精灵,

请在您的项目中包括app\u控制台(dk\u apps/src/modules/app/src/app\u utils)。应用程序控制台提供拱门印刷函数打印格式化文本。语法类似于打印FC标准库提供的函数。不幸的是,app\ u控制台目前似乎没有提供收集输入的方法。请参阅源文件夹中的uart.h。在那里你可以找到接收字节功能。确保在da14580_config.h中启用printf函数:#定义CFG\u PRINTF. 否则这些函数就不存在了

谢谢

氰基
离线
最后一次见到:5年10个月前
已加入:2014-11-13 20:59
再次感谢你,维萨。确切地

再次感谢你,维萨。正是我需要的。

JE\U对话框
离线
最后一次见到:1天4小时前
工作人员
已加入:2013-12-05 14:02
谢谢你,维萨!我们真的

谢谢你,维萨!我们非常感谢您帮助DA14580用户。如果你马上就要去度假了,祝你圣诞快乐,

BR JE\u对话框