赞
踩
开源蓝牙心率防水运动手环
——疯壳·智能穿戴开发系列
整机功能代码讲解
整机代码
1 软件设计
本节,我们将融合前面的蓝牙收发、三轴记步、电量检测、外部 Flash 读写、 心率检测和 Led 屏幕显示,完成手环的制作。
以上各个部分可以参考前面的章节。
首先,看一下我们手环的整个软件主函数流程。
图1
代码运行后,首先进入初始化,初始化系统时钟、外设和蓝牙。除此之外, 还开启了定时中断和 GPIO 中断。
我们的定时中断每 10ms 触发一次,用于 ADC 定时采集心率数据,以及定时和时间更新。另外,由于一些原因,主函数中的步数读取、电量检测、心率检测、屏幕显示并不是每一次循环都执行一次。这里的定时中断也作为一个计时功能, 步数 20 秒更新一次,心率模块 1 分钟打开一次,亮屏无操作,5 秒熄灭屏幕。
这里的 GPIO 中断主要是用来切换屏幕显示页面。
代码1
从 GPIO 的中断回调函数中可以看出,每次中断只是把变量 Touch_release 置1,并没有直接对显示做任何处理,而在定时中断的回调函数中,判断变量Touch_release 的值,从而确定我们是长时间按键,还是短时间按键
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。