我想修改sample128设计使其可以同时处理超过1个字节,我没有多少运气。是否有一个版本,可以在同一时间写超过1个字节?谢谢!
嗨cyanolum,您可以通过为Sample128_Task.c行中的Value属性进行更多空间来开始。使用示例128中描述的方法创建新服务比其他服务使用更棘手。您可以将DISS Service Files Cons.c和dist_task.c身份视为基础
感谢您的答复VESA,该值属性分配更多的空间是什么我已经试过了。当我这样做,我到达,指出看门狗NMI处理断点已过期。
也许存在一个更好的例子,对我来说,比sample128开始?
我需要的是简单的,我希望有我的手机应用程序发送的请求数据,以30字节的信息将与〜回应DA14580。
嗨cyanolum,
该错误可能意味着该方案被卡住的地方。这是很难说别的有关错误。我记得,128-bit的UUID服务示例所示的方法是非常棘手的使用,因为有很多的魔术数字。我建议看DIS服务。如果你打开文件diss.c和diss_task.c在Profiles文件夹中,您将看到轮廓结构是很容易用这种方法来理解:常量结构attm_desc diss_att_db [DIS_IDX_NB] ={//设备信息服务宣言[DIS_IDX_SVC] = {ATT_DECL_PRIMARY_SERVICE,PERM(RD,ENABLE),的sizeof(diss_dis_svc),的sizeof(diss_dis_svc),(uint8_t *)&diss_dis_svc}//制造商名称特点宣言[DIS_IDX_MANUFACTURER_NAME_CHAR] = {ATT_DECL_CHARACTERISTIC,PERM(RD,ENABLE),的sizeof(diss_manufacturer_name_char),的sizeof(diss_manufacturer_name_char),(uint8_t *)&diss_manufacturer_name_char}//制造商名称特性值[DIS_IDX_MANUFACTURER_NAME_VAL] = {ATT_CHAR_MANUF_NAME,PERM(RD,ENABLE),DIS_VAL_MAX_LEN,0,NULL},......};
常量结构attm_desc diss_att_db [DIS_IDX_NB] ={//设备信息服务宣言[DIS_IDX_SVC] = {ATT_DECL_PRIMARY_SERVICE,PERM(RD,ENABLE),的sizeof(diss_dis_svc),的sizeof(diss_dis_svc),(uint8_t *)&diss_dis_svc}//制造商名称特点宣言[DIS_IDX_MANUFACTURER_NAME_CHAR] = {ATT_DECL_CHARACTERISTIC,PERM(RD,ENABLE),的sizeof(diss_manufacturer_name_char),的sizeof(diss_manufacturer_name_char),(uint8_t *)&diss_manufacturer_name_char}//制造商名称特性值[DIS_IDX_MANUFACTURER_NAME_VAL] = {ATT_CHAR_MANUF_NAME,PERM(RD,ENABLE),DIS_VAL_MAX_LEN,0,NULL},......};
在diss_task.c,你有一个函数diss_create_db_req_handler,这将创建服务数据库。看看函数调用attm_svc_create_db()创建数据库请求处理中。没有必要用手工做魔术计算。
diss_create_db_req_handler
attm_svc_create_db()
不幸的是,你只能使用短UUID定义使用此方法。
我发现,创造新的配置文件与当前SDK令人不快的麻烦。但愿会有在SDK的未来版本的一些缓和。
如果要创建一个完全新的配置文件,切记要修改da14580_config.h,prf_utils.c,rwble_hl_config.h,app_api.h,app_task_handlers.h和rwip_config.h。希望我没有错过任何文件
PS。如果你只需要30个字节的数据回复,你能考虑只发送它不断地在通告报文?然后手机不需要请求数据。或者,你还需要一些具体的数据发送到设备可以发送数据之前?
再次感谢您的Vesa这样一个很好的答复。我会通过你说的事情,并保持它的工作。
我确实需要一些具体的数据首先发送到设备,然后把所有有效的响应小于30字节每个正确的响应回来。因此,它似乎是一个简单的任务,但我显然有一些麻烦的SDK。
我一直在使用自定义配置文件发送给我的30个字节有运气,但我现在想知道如果我可以通过UART类似于如何“外设示例”的作品中添加文本菜单。
在更多的什么,我想要做的就是必须通过UART菜单打印细节,选择一个选项(1,2,3,4 ......等),并有DA14580保存,可以再由我的手机可以读取一个20字节长的值应用程序。
在最简单的方法任何想法来实现这一点?我试图将它添加到“arch_main()”像“外设示例”,但是这似乎并没有很好地工作在所有的,因为它在打印的菜单UART不断崩溃。
谢谢!
请包括app_console在您的项目(dk_apps / src目录/模块/应用/ src目录/ app_utils)。app_console提供arch_printf功能打印格式的文本。语法类似于的printfC标准lib提供的功能。不幸的是,App_Console似乎没有提供目前收集输入的手段。请参阅UART.h在peripheral_examples源文件夹中。在那里,你可以找到uart_reveive_byte功能。请务必启用printf函数在da14580_config.h:#define cfg_printf.。否则,这些功能将不存在
arch_printf
的printf
uart_reveive_byte
#define cfg_printf.
谢谢
再次感谢您的Vesa。正是我需要的。
三江源的Vesa!我们真的很感谢你帮助的同胞DA14580用户。有自己一个远大的圣诞,如果你很快就会前往到假期,
BR JE_DIALOG.
嗨cyanolum,
您可以通过为Sample128_Task.c行中的Value属性进行更多空间来开始。使用示例128中描述的方法创建新服务比其他服务使用更棘手。您可以将DISS Service Files Cons.c和dist_task.c身份视为基础
感谢您的答复VESA,该值属性分配更多的空间是什么我已经试过了。当我这样做,我到达,指出看门狗NMI处理断点已过期。
也许存在一个更好的例子,对我来说,比sample128开始?
我需要的是简单的,我希望有我的手机应用程序发送的请求数据,以30字节的信息将与〜回应DA14580。
嗨cyanolum,
该错误可能意味着该方案被卡住的地方。这是很难说别的有关错误。我记得,128-bit的UUID服务示例所示的方法是非常棘手的使用,因为有很多的魔术数字。我建议看DIS服务。如果你打开文件diss.c和diss_task.c在Profiles文件夹中,您将看到轮廓结构是很容易用这种方法来理解:
常量结构attm_desc diss_att_db [DIS_IDX_NB] =
{
//设备信息服务宣言
[DIS_IDX_SVC] = {ATT_DECL_PRIMARY_SERVICE,PERM(RD,ENABLE),的sizeof(diss_dis_svc),
的sizeof(diss_dis_svc),(uint8_t *)&diss_dis_svc}
//制造商名称特点宣言
[DIS_IDX_MANUFACTURER_NAME_CHAR] = {ATT_DECL_CHARACTERISTIC,PERM(RD,ENABLE),的sizeof(diss_manufacturer_name_char),
的sizeof(diss_manufacturer_name_char),(uint8_t *)&diss_manufacturer_name_char}
//制造商名称特性值
[DIS_IDX_MANUFACTURER_NAME_VAL] = {ATT_CHAR_MANUF_NAME,PERM(RD,ENABLE),DIS_VAL_MAX_LEN,0,NULL},
......
};
在diss_task.c,你有一个函数
diss_create_db_req_handler
,这将创建服务数据库。看看函数调用attm_svc_create_db()
创建数据库请求处理中。没有必要用手工做魔术计算。不幸的是,你只能使用短UUID定义使用此方法。
我发现,创造新的配置文件与当前SDK令人不快的麻烦。但愿会有在SDK的未来版本的一些缓和。
如果要创建一个完全新的配置文件,切记要修改da14580_config.h,prf_utils.c,rwble_hl_config.h,app_api.h,app_task_handlers.h和rwip_config.h。希望我没有错过任何文件
PS。如果你只需要30个字节的数据回复,你能考虑只发送它不断地在通告报文?然后手机不需要请求数据。或者,你还需要一些具体的数据发送到设备可以发送数据之前?
再次感谢您的Vesa这样一个很好的答复。我会通过你说的事情,并保持它的工作。
我确实需要一些具体的数据首先发送到设备,然后把所有有效的响应小于30字节每个正确的响应回来。因此,它似乎是一个简单的任务,但我显然有一些麻烦的SDK。
我一直在使用自定义配置文件发送给我的30个字节有运气,但我现在想知道如果我可以通过UART类似于如何“外设示例”的作品中添加文本菜单。
在更多的什么,我想要做的就是必须通过UART菜单打印细节,选择一个选项(1,2,3,4 ......等),并有DA14580保存,可以再由我的手机可以读取一个20字节长的值应用程序。
在最简单的方法任何想法来实现这一点?我试图将它添加到“arch_main()”像“外设示例”,但是这似乎并没有很好地工作在所有的,因为它在打印的菜单UART不断崩溃。
谢谢!
嗨cyanolum,
请包括app_console在您的项目(dk_apps / src目录/模块/应用/ src目录/ app_utils)。app_console提供
arch_printf
功能打印格式的文本。语法类似于的printf
C标准lib提供的功能。不幸的是,App_Console似乎没有提供目前收集输入的手段。请参阅UART.h在peripheral_examples源文件夹中。在那里,你可以找到uart_reveive_byte
功能。请务必启用printf函数在da14580_config.h:#define cfg_printf.
。否则,这些功能将不存在谢谢
再次感谢您的Vesa。正是我需要的。
三江源的Vesa!我们真的很感谢你帮助的同胞DA14580用户。有自己一个远大的圣诞,如果你很快就会前往到假期,
BR JE_DIALOG.