我试图修改sample128的设计,使它可以处理超过1字节的时间,我没有太多的运气。是否有一个版本可以一次写入超过1个字节?谢谢!
嗨,蓝精灵,您可以从为sample128\u task.c第103行中的value属性分配更多空间开始。使用sample128示例中描述的方法创建新服务比使用其他服务更棘手。您可以检查DIS服务文件diss.c和diss\u task.c作为基础
感谢您的回复,Vesa,为value属性分配更多空间是我已经尝试过的。当我这样做时,我到达NMI处理程序中的断点,该断点表示看门狗已过期。
也许有一个比sample128更好的例子让我开始呢?
我的需要很简单,我希望我的移动应用程序发送一个数据请求到DA14580,它将以约30字节的信息作出回应。
嗨,蓝精灵,
这个错误可能意味着程序被卡住了。关于这个错误很难说什么。我记得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},...};
常量结构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()在创建数据库请求处理程序中。不需要手工做魔术计算。
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字节的数据,你能考虑在广告包中不断发送吗?那么手机就不需要请求数据了。或者,在发送数据之前,您是否还需要向设备发送一些特定的数据?
再次感谢你这么好的答复。我会仔细看看你说的话,然后继续努力。
我确实需要先向设备发送一些特定的数据,然后发送正确的响应,所有有效的响应都小于30字节。所以这似乎是一个简单的任务,但我显然有一些问题的SDK。
我有幸使用自定义配置文件发送我的30字节,但现在想知道我是否可以添加一个文本菜单通过uart类似的“外围示例”的工作方式。
更详细地说,我想做的是有一个菜单打印通过UART,选择一个选项(1,2,3,4。。。等),并让DA14580保存一个20字节的值,然后可以由我的移动应用程序读取。
关于最简单的实现方法有什么想法吗?我尝试过将它添加到“arch\u main()”中,就像在“Peripheral Examples”中一样,但这似乎一点都不起作用,因为它在将菜单打印到UART时经常崩溃。
谢谢!
请在您的项目中包括app\u控制台(dk\u apps/src/modules/app/src/app\u utils)。应用程序控制台提供拱门印刷函数打印格式化文本。语法类似于打印FC标准库提供的函数。不幸的是,app\ u控制台目前似乎没有提供收集输入的方法。请参阅源文件夹中的uart.h。在那里你可以找到接收字节功能。确保在da14580_config.h中启用printf函数:#定义CFG\u PRINTF. 否则这些函数就不存在了
拱门印刷
打印F
接收字节
#定义CFG\u PRINTF
谢谢
再次感谢你,维萨。正是我需要的。
谢谢你,维萨!我们非常感谢您帮助DA14580用户。如果你马上就要去度假了,祝你圣诞快乐,
BR JE\u对话框
嗨,蓝精灵,
您可以从为sample128\u task.c第103行中的value属性分配更多空间开始。使用sample128示例中描述的方法创建新服务比使用其他服务更棘手。您可以检查DIS服务文件diss.c和diss\u task.c作为基础
感谢您的回复,Vesa,为value属性分配更多空间是我已经尝试过的。当我这样做时,我到达NMI处理程序中的断点,该断点表示看门狗已过期。
也许有一个比sample128更好的例子让我开始呢?
我的需要很简单,我希望我的移动应用程序发送一个数据请求到DA14580,它将以约30字节的信息作出回应。
嗨,蓝精灵,
这个错误可能意味着程序被卡住了。关于这个错误很难说什么。我记得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字节的数据,你能考虑在广告包中不断发送吗?那么手机就不需要请求数据了。或者,在发送数据之前,您是否还需要向设备发送一些特定的数据?
再次感谢你这么好的答复。我会仔细看看你说的话,然后继续努力。
我确实需要先向设备发送一些特定的数据,然后发送正确的响应,所有有效的响应都小于30字节。所以这似乎是一个简单的任务,但我显然有一些问题的SDK。
我有幸使用自定义配置文件发送我的30字节,但现在想知道我是否可以添加一个文本菜单通过uart类似的“外围示例”的工作方式。
更详细地说,我想做的是有一个菜单打印通过UART,选择一个选项(1,2,3,4。。。等),并让DA14580保存一个20字节的值,然后可以由我的移动应用程序读取。
关于最简单的实现方法有什么想法吗?我尝试过将它添加到“arch\u main()”中,就像在“Peripheral Examples”中一样,但这似乎一点都不起作用,因为它在将菜单打印到UART时经常崩溃。
谢谢!
嗨,蓝精灵,
请在您的项目中包括app\u控制台(dk\u apps/src/modules/app/src/app\u utils)。应用程序控制台提供
拱门印刷
函数打印格式化文本。语法类似于打印F
C标准库提供的函数。不幸的是,app\ u控制台目前似乎没有提供收集输入的方法。请参阅源文件夹中的uart.h。在那里你可以找到接收字节
功能。确保在da14580_config.h中启用printf函数:#定义CFG\u PRINTF
. 否则这些函数就不存在了谢谢
再次感谢你,维萨。正是我需要的。
谢谢你,维萨!我们非常感谢您帮助DA14580用户。如果你马上就要去度假了,祝你圣诞快乐,
BR JE\u对话框