9个职位/0个新职位
最后一篇
氰化物
离线
最后一次露面:5年10个​​月前
加入:2014-11-13 20:59
示例128问题

我正在尝试修改样本128设计,以便一次处理超过1个字节,我没有太大的运气。是否有一个可用的版本,可以一次编写超过1个字节?谢谢!

vesan.
离线
最后一次露面: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处理程序中达到断点,声明看门狗已过期。

也许可以让我开始比样品128更好的榜样?

我的需求很简单,我希望让我的手机应用程序向DA14580发送数据请求,这将以〜30字节的信息响应。

vesan.
离线
最后一次露面:5年3个月前
上师 主
加入:2014-06-26 08:49
氰化物,

氰化物,

那个错误可能意味着程序陷入困境。很难对错误说出其他任何事情。我记得,128位UUID服务样本中所示的方法非常棘手,因为有很多魔术数字。我建议看到DIS服务。如果在“配置文件”文件夹中打开“文件段和dist_task.c,则会看到配置文件结构非常容易理解此方法:

const struct attm_desc diss_att_db [dis_idx_nb] =
{
//设备信息服务声明
[dis_idx_svc] = {att_decl_primary_service,perm(rd,启用),sizeof(diss_dis_svc),
sizeof(diss_dis_svc),(uint8_t *)和diss_dis_svc},
//制造商名称特征声明
[dis_idx_manufacturer_name_char] = {att_decl_characterativom,perm(rd,启用),sizeof(diss_manufacturer_name_char),
sizeof(diss_manufacturer_name_char),(uint8_t *)和dist_manufacturer_name_char},
//制造商名称特征值
[dis_idx_manufacturer_name_val] = {att_char_manuf_name,perm(rd,启用),dis_val_max_len,0,null},
......
};

在dist_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个字节的数据,您是否可以考虑一直在广告数据包中发送它?然后手机不需要请求数据。或者您还需要在发送数据之前向设备发送一些特定数据?

氰化物
离线
最后一次露面:5年10个​​月前
加入:2014-11-13 20:59
再次感谢你这么做

再次感谢VESA,以获得这么好的回复。我会透过你所说的事情并继续努力。

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

氰化物
离线
最后一次露面:5年10个​​月前
加入:2014-11-13 20:59
我很幸运使用了

我有运气使用自定义配置文件来发送我的30个字节,但现在我想知道我是否可以通过UART添加文本菜单,类似于“外设示例”的工作原理。

更详细地了解我想做的是通过UART打印菜单,选择一个选项(1,2,3,4 ...等),并且具有DA14580保存20个字节值,然后我的手机读取应用程序。

关于最简单的实现这一目标的想法?我尝试将它添加到“Arch_main()”中的“外设示例”,但这似乎并不完全工作,因为它在打印菜单到UART时不断崩溃。

谢谢!

vesan.
离线
最后一次露面:5年3个月前
上师 主
加入:2014-06-26 08:49
氰化物,

氰化物,

请在项目中包含app_console(dk_apps / src / modules / app / src / app_utils)。app_console提供Arch_printf.打印格式化文本的功能。语法类似于Printf.C标准库提供的函数。不幸的是,app\ u控制台目前似乎没有提供收集输入的方法。请参阅源文件夹中的uart.h。在那里你可以找到UART_REVEIVE_BYTE.功能。请务必在DA14580_CONFIG中启用PRINTF功能:#define cfg_printf.。否则,这些功能不存在

谢谢

氰化物
离线
最后一次露面:5年10个​​月前
加入:2014-11-13 20:59
再次感谢VESA。究竟

再次感谢VESA。正是我需要的。

je_dialog.
离线
最后一次露面:1天3小时前
员工
加入:2013-12-05 14:02
谢谢你的vesa!我们真的

谢谢你的vesa!我们非常感谢您帮助DA14580用户。如果你很快前往假期,请让自己成为一个伟大的圣诞节

BR JE_DIALOG.