11(100%开源)蓝牙心率防水运动手环_整机功能代码讲解(1).docx
《11(100%开源)蓝牙心率防水运动手环_整机功能代码讲解(1).docx》由会员分享,可在线阅读,更多相关《11(100%开源)蓝牙心率防水运动手环_整机功能代码讲解(1).docx(16页珍藏版)》请在第一文库网上搜索。
1、蓝牙心率防水运动手环整机代码配套资料:https:/www.fengke.club/GeekMart/su_fkZyGYgrp.jsp、后r 一 左n幺匕生rTT 右、歹0配套视频:https:/www.fengke.club/GeekMart/su_fTSgUL3y3.jsp整机代码1 软件设计.本节,我们将融合前面的蓝牙收发、三轴记步、电量检测、外部Flash读写、心率检测和Led屏幕显示,完成手环的制作。以上各个部分可以参考前面的章节。首先,看一下我们手环的整个软件主函数流程。开始代码运行后,首先进入初始化,初始化系统时钟、外设和蓝牙。除此之外,还开启了定时中断和GPIO中断。我们的定时
2、中断每10ms触发一次,用于ADC定时采集心率数据,以及定时和时间更新。另外,由于一些原因,主函数中的步数读取、电量检测、心率检测、屏幕显示并不是每一次循环都执行一次。这里的定时中断也作为一个计时功能,步数20秒更新一次,心率模块1分钟打开一次,亮屏无操作,5秒熄灭屏幕。这里的GPIO中断主要是用来切换屏幕显示页面。void my_int_buttonl_handler(void)Touch_release =1; 触摸释放标志从GPIO的中断回调函数中可以看出,每次中断只是把变量Touch_release置1,并没有直接对显示做任何处理,而在定时中断的回调函数中,判断变量Touchjelea
3、se的值,从而确定我们是长时间按键,还是短时间按键,来完成相应的处理。在定时器中断函数中,检测到短时间触摸,就打开显示标志位,同时设置显示的页面。关于蓝牙收发部分,我们在蓝牙收发章节的基础上进行了修改,通过手机软件Wolverine BLE发送step获取步数、发送cal获取卡路里、发送heart获取心率值、发送rtc加时间完成手环的时间设置。下面是函数static int gattc_write_cmd_ind_handler(ke_msgjd_t const msgid, struct gattc_write_cmd_indconst *param, ke_task_id_t const
4、destjd, ke_task_id_t const srcjd)的部分代码。switch(attjdx)case CUST1_IDX_INDICATEABLE_VAL:attmdb_att_set_value(param-handle, param-length, (uint8_t*)&(param-value0);memcpy(value_buf,&(param-value),param-length);复制读出的数据至value_buffspi_flash_read_data(dghData, 0x040000,10);读取 flash 中的数据Number_Of_Steps=dghDa
5、tal;hr_capture=dghDataO;DataConversion();if(value_bufO =s)&(value_bufl = t)&(value_buf2 = e,)&(value_buf3=,P)(value_buf0=Steps0+0x30; 返回步伐值value_bufl=Stepsl+0x30;value_buf2=Steps2+0x30;value_buf3=Steps3+0x30;value_buf4=Steps4+0x30;attmdb_att_set_value(custsl_env.shdl+CUSTl_IDX_LONG_VALUE_/AL)/5,(uin
6、t8_t*)&(value_buf0);prf_server_send_event(prf_env_struct *)&(custsl_env.con_info), false,(custsl_env.shdl+CUSTl_IDX_LONG_VALUE_VAL);else if(value_bufO =c,)&(value_bufl = a,)&(value_buf2 = T)value_buf0=(Calorie0)+0x30; 返回卡路里value_bufl=(Caloriel)+0x30;value_buf2=(Calorie2)+0x30;value_buf3=(Calorie3)+0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 100 开源 蓝牙 心率 防水 运动 整机 功能 代码 讲解
