你好呀,
参考前一个链接(https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。我评论了。我不知道如何做到这件事。我已经在SDK 5的自定义配置文件中尝试了此功能,我能够从心率模块获取ADC数据。所以现在我想在SDK 3中将这个函数实施到心率概况,但似乎我不知道在哪里放置这个功能以使其工作。我已经包括ADC标题文件。(附件7)。我希望在概要文件中以BPM单元通知心率值。谢谢。
设备:
请查看更新后的附件。谢谢
嗨Herochua617,
关于你在谈论哪个功能?我没有看到您上传的附件中的任何功能名称,因为我提到了上一篇文章,请查看RW BLE心率配置文件(HRP)接口规范,以便检查您需要与之交换的消息配置文件以与HRP配置文件模块进行通信。
谢谢mt_dialog.
你好呀,
我搜索了文件RW-BLE-HRP - 但它看起来非常表面。它没有显示我需要放置我的ADC编码,以便我获取数据。
unit 8_t heart_rate, sample, sample2;
adc_init (GP_ADC_SE, 0, GP_ADC_ATTN3X);
adc_enable_channel(adc_channel_p01);
样本= 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;
app_heart_rate_set_value (heart_rate)
这是我一直在讨论的adc函数,我将adc的输出输出给app_heart_set_value,这是app_hrps.c中的一个函数。见附件8。谢谢
嗨Herochua617,
该文档解释了概要文件公开的消息,以便您使用它,您将在哪里从传感器执行测量,这取决于您的应用程序。因此文档提到了一个名为HRPS_MEAS_SEND_REQ的消息,为了将通知发送到中央的另一端,应该调用这个消息(只要您从中央启用了通知,通知就会到达另一端)。因此,您可以通过计时器触发该消息,并在消息被发送后立即执行adc测量,从adc获取值,将值打包到消息中,并将消息发送到配置文件。你已经做过了。如何触发功能,正如我提到取决于您的应用程序,它可以在连接,或者当中央写到指定的CCC心率概要文件来启用通知,您可以捕获该事件gattc_write_cmd_ind_handler hrps_task.c文件中的()。
谢谢mt_dialog.
你好,
我在gattc_write_cmd_ind_handler中称为函数。但值不更新。我需要关闭和通知以获得该值。顺便说一下,值不应该这么高,因为我没有坚持我的身体上的电极。请参考附件9.非常感谢!
嗨Herochua617,
你将不得不打开通知为了触发gattc_write_cmd_ind_handler()和为了计时器触发,也有把函数只要gattc_write_cmd_ind_handler()不管它的特点是富于计时器将被激活,重点是有计时器计数,只要你写的CCC特征,请试着阅读和理解代码。关于你得到的值,我不能假设为什么它们是高的(这是你必须通过调试发现的东西),我建议发送虚拟数据,直到你可以验证你可以正确发送数据。
谢谢mt_dialog.
你好呀,
我想问一下,app_timer_set与app_easy_timer不同。我可以使用app_timer_set来调用函数,就像app_easy_timer一样?
你好呀,
我一直在尝试了解编码并试图改变定时器函数的放置。我希望在我的智能手机上有一个实时数据,这意味着一旦通知打开,该值将通过心率配置文件描述,直到我关闭通知,但似乎无论我放置定时器,都会显示实时变化,但似乎无论我放置定时器,结果似乎没有实时数据,而是没有实时数据。非实时数据是指在触发通知按钮时在心率曲线中显示的数据。一旦触发,值显示将不相对于时间更改。
你好呀,
我通过这个主题解决了循环问题 -https://support.dialog-semicondiondiondum/timer-problem-again.。谢谢
你好呀,
我发现@app_hrps.c。这要求——> meas_val。rr_intervals [0]
空白app_heart_rate_set_value (uint16_t heart_rate_val)
{
//分配消息
struct hrps_meas_send_req * req = ke_msg_alloc(hrps_meas_send_req,task_hrps,task_app,
hrps_meas_send_req);
//填充参数结构
req-> conhdl = app_env.conhdl;
// struct hrs_hr_meas meas_val;
/// 旗帜
req-> meas_val.flags = hrs_flag_hr_8bits_value;
/// RR-Interval numbers (max 4)
req-> meas_val.nb_rr_interval = 4;
/ / / RR-Intervals
//req-pymeas_val.rr_intervals[0] = heart_rate_val;
///心率测量值
req-> meas_val.heart_rate = heart_rate_val-104;
///能量消耗
申请- > meas_val。energy_expended = HRS_HR_CNTL_POINT_CODE;}
对心率值没有影响。无论我改变rr_interval[0]的值,从心率剖面得到的值都是相同的。这真的没有效果吗?谢谢
你好呀,
我可以从心率概况中测量rr_intervals。我刚刚发现我的价值观在ECG或另一个单词中随着时间的推移电信号。从配置文件产生的内容目前不代表心率(BPM),而是随时间的电信号的值。任何想法,所以我可以获得Heart_rate的价值观吗?谢谢。
你好呀,
谢谢。我发现了。在此链接中您已经回答了这个问题https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。。