在BLE扫描仪中铸造出十进制值

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
herochua617
离线
最后看到:3年11个月前
加入:2017-01-18 46
在BLE扫描仪中铸造出十进制值

你好,

我想从BLE扫描器中排除十进制值。我如何实现它?我正在尝试使用arch_printf能力,但我不知道如何做它确切。因为,我想要的值是在ADC VAL的特性1,谢谢!

这是我的代码:

空白app_adcval1_timer_cb_handler ()

struct custs1_val_ntf_req* req = KE_MSG_ALLOC_DYN(custs1_val_ntf_req,
TASK_CUSTS1,
TASK_APP,
custs1_val_ntf_req,
DEF_CUST1_ADC_VAL_1_CHAR_LEN);

//待采样的ADC值
Static uint32_t heart_rate, sample, sample2;

adc_init (GP_ADC_SE, 0, GP_ADC_ATTN3X);
adc_enable_channel (ADC_CHANNEL_P01);
Sample = adc_get_sample ();

adc_init (GP_ADC_SE, GP_ADC_SIGN, GP_ADC_ATTN3X);
adc_enable_channel (ADC_CHANNEL_P01);
Sample2 = adc_get_sample ();

Heart_rate = (sample + sample2);
heart_rate = heart_rate / 2;

申请- > conhdl = app_env - > conhdl;
申请- >处理= CUST1_IDX_ADC_VAL_1_VAL;
申请- >长度= DEF_CUST1_ADC_VAL_1_CHAR_LEN;
memcpy(请求- >值、&heart_rate DEF_CUST1_ADC_VAL_1_CHAR_LEN);

ke_msg_send(要求的);

if (ke_state_get(TASK_APP) == APP_CONNECTED)

//再次设置,直到在控制特征中接收到停止命令
timer_used = app_easy_timer(APP_PERIPHERAL_CTRL_TIMER_DELAY, app_adcval1_timer_cb_handler);

设备:
LT_Dialog(未验证)
嗨herochua617,

嗨herochua617,
您只需要启用它,并为UART TX/RX配置相关的gpio。以示例ble_app_peripehral为例。定义宏CFG_PRINTF, arch_printf将起作用。

herochua617
离线
最后看到:3年11个月前
加入:2017-01-18 46
你好,

你好,

只是为了确认它,我将从我的BLE扫描仪应用程序在我的手机上的ADC VAL 1特征的值输出与小数值?我已经完成了UART_TX和RX的配置,还在ble_app_peripheral的user_custs1_impl.c中定义了宏。我的代码是这样写的:

申请- > conhdl = app_env - > conhdl;
申请- >处理= CUST1_IDX_ADC_VAL_1_VAL;
申请- >长度= DEF_CUST1_ADC_VAL_1_CHAR_LEN;
memcpy(请求- >数据、&heart_rate DEF_CUST1_ADC_VAL_1_CHAR_LEN);
arch_printf ();
由于req->数据是指向一个数组,该数组以字节存储值,它被定义为字符值,如何使用arch_printf来允许我从智能手机BLE扫描应用程序中获得一个整数值而不是十六进制?我在想,为了做到这一点,我应该在我的printf中放入什么。

非常感谢!

herochua617
离线
最后看到:3年11个月前
加入:2017-01-18 46
你好,

你好,

你可以看到这里的图片,我已经链接了。我只得到十六进制的值。

附件:
LT_Dialog(未验证)
嗨herochua617,

嗨herochua617,
我想我误解了你的问题。arch_printf是通过UART打印字符串。

作为你的问题,它总是十六进制值发送到空气和接收在应用程序方面。它的应用程序决定如何使用这些十六进制值,并相应地解释它们。

herochua617
离线
最后看到:3年11个月前
加入:2017-01-18 46
嗨LT_Dialog,

嗨LT_Dialog,

即使我使用HRPS配置文件,我仍然需要做一个应用程序来解释的价值?我不能使用BLE扫描器应用程序来得到十进制的值吗?根据这个链接,他们可以在BLE扫描仪应用程序中获得十进制值,所以我想知道它是否适用。https://github.com/ARMmbed/ble-examples/tree/master/BLE_HeartRate.谢谢!

LT_Dialog(未验证)
嗨herochua671,

嗨herochua671,
数据全部以十六进制发送和接收。应用程序可以决定如何解释(或在显示器上显示)接收到的数据。它可能BLE扫描仪解释在一个更人类可读的方式的特征值的那些SIG配置文件,如心率配置文件。

herochua617
离线
最后看到:3年11个月前
加入:2017-01-18 46
非常感谢。由

非常感谢。顺便说一下,请回看我评论过的这个链接。谢谢https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。