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

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
8个帖子/ 0个新
最后发表
herochua617
离线
最后看到:4年2周以前
加入: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);
样本= adc_get_sample ();

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
离线
最后看到:4年2周以前
加入:2017-01-18 46
你好,

你好,

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

申请- > 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
离线
最后看到:4年2周以前
加入:2017-01-18 46
你好,

你好,

正如你在这里看到的图片,我已经链接。我只得到十六进制的值。

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

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

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

herochua617
离线
最后看到:4年2周以前
加入: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
离线
最后看到:4年2周以前
加入:2017-01-18 46
非常感谢。由

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