资源简介
基于STM32的心率计开发,包含原理图及程序
代码片段和文件信息
#include “includes.h“
#include “pulse_test.h“
#include
OS_STK task_voice_stk[TASK_VOICE_STK_SIZE]; //语音定义栈
OS_STK task_help_stk[TASK_HELP_STK_SIZE]; //求救定义栈
OS_STK task_pluse_stk[TASK_PLUSE_STK_SIZE]; //脉搏定义栈
OS_STK task_pace_stk[TASK_PACE_STK_SIZE]; //步伐定义栈
OS_STK task_set_stk[TASK_SET_STK_SIZE]; //设置定义栈
OS_STK task_list_stk[TASK_LIST_STK_SIZE]; //打电话定义栈
OS_STK task_call_stk[TASK_CALL_STK_SIZE]; //通讯录定义栈
OS_STK task_call_in_stk[TASK_CALL_IN_STK_SIZE]; //接电话轮循任务
//脉搏模块相关变量
extern u8 PulseKey; //展示脉搏的开关
extern u16 HeartRate_Average;//多次心率采集平均值(最后的值)(提高精度)
//计步器相关变量
u8 StepKey=0;
u16 StepVal=0;
void Task_Start(void *p_arg)
{
int temp=0;
u8 cmd=0goal=0; //cmd 控制指令 goal 按下的图标所表示的代号
u16 x ytemp_xtemp_y;
(void)p_arg; // ‘p_arg‘ 并没有用到,防止编译器提示警告
OSTaskCreate(Task_Call_In(void *)0 //创建接电话任务
&task_call_in_stk[TASK_CALL_IN_STK_SIZE-1] TASK_CALL_IN_PRIO);
// GSM_SendAT((char *)“AT+CLCC=1\r“ (char *)“OK“ sizeof(“AT+CLCC=1\r“));
while (1)
{
do{
Time_Display(cmd);//显示时间
cmd=LCD_slip();
}while(cmd != 1);
LCD_background(); //背景展示
goal=5; //初始化
loop :cmd=1;
// GSM_CallNumber(“13726928277“);
// GSM_CallNumber(“13726928277\0“);
do{
LCD_Menu(tempcmd);
cmd=0;
if(Touch_GetSite(&y &x))
{
DIS_Delayms(100);
if(Touch_GetSite(&temp_y &temp_x)) //再次捕获触摸点
{
if( temp_x-x > 30 && temp_y-y < 30 ) //向下
{
temp=(++temp)%3;
cmd=1; //进入转换界面
}
if( x-temp_x > 30 && y-temp_y < 30 ) //向上
{
temp=(--temp < 0)? 2 : temp ;
cmd=1; //进入转换界面
}
if( y-temp_y > 30 && x-temp_x < 30 ) cmd=2;//退出
if( temp_y-y > 30 && temp_x-x < 30 ) //紧急求救
{
//发信息进行求救
OSTaskCreate(Task_Help(void *)0 //创建任务
&task_help_stk[TASK_HELP_STK_SIZE-1] TASK_HELP_PRIO);
cmd=1;
goto loop;
}
if( cmd == 0 )
{
goal=LCD_Touch_App(temp x y); //找到触摸到的app
if(goal != 5) cmd=2;
}
}
}//if(Touch_GetSite(&y &x))
}while(cmd != 2);//当cmd=2时退出
// goal=4;
//切换任务
switch(goal){
case 0: //测量脉搏
OSTaskCreate(Task_Pluse(void *)0 //创建任务
&task_pluse_stk[TASK_PLUSE_STK_SIZE-1] TASK_PLUSE_PRIO);
break;
case 1://测量步伐
OSTaskCreate(Task_Pace(void *)0 //创建任务
&task_pace_stk[TASK_PACE_STK_SIZE-1] TASK_PACE_PRIO);
break;
case 2: //设置页面
OSTaskCreate(Task_Set(void *)0 //创建任务
&task_set_stk[TASK_SET_STK_SIZE-1] TASK_SET_PRIO);
break;
case 3: //打电话页面
OSTaskCreate(Task_Call(void *)0 //创建任务
&task_call_stk[TASK_CALL_STK_SIZE-1] TASK_CALL_PRIO);
break;
case 4: //通讯录页面
OS
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-11 11:44 心率计\
文件 1779366 2016-05-15 23:41 心率计\创新项目V2.0.pdf
目录 0 2017-04-11 11:44 心率计\完成版 1.0\
目录 0 2017-04-11 11:44 心率计\完成版 1.0\APP\
文件 14179 2015-03-20 19:35 心率计\完成版 1.0\APP\app.c
文件 486 2015-03-11 15:39 心率计\完成版 1.0\APP\app.h
文件 764 2015-03-11 15:38 心率计\完成版 1.0\APP\app_cfg.h
文件 10715 2014-12-24 15:47 心率计\完成版 1.0\APP\os_cfg.h
文件 10714 2010-06-03 10:34 心率计\完成版 1.0\APP\os_cfg_r.h
目录 0 2017-04-11 11:44 心率计\完成版 1.0\BSP\
文件 45153 2014-12-02 16:15 心率计\完成版 1.0\BSP\ASC8x16.h
文件 874 2015-03-17 15:33 心率计\完成版 1.0\BSP\BSP.c
文件 105 2011-12-03 06:01 心率计\完成版 1.0\BSP\BSP.h
文件 484078 2014-12-16 13:50 心率计\完成版 1.0\BSP\call.h
文件 17312 2014-09-26 19:25 心率计\完成版 1.0\BSP\Driver.c
文件 1203 2014-09-26 20:06 心率计\完成版 1.0\BSP\Driver.h
文件 4694 2013-11-15 11:59 心率计\完成版 1.0\BSP\GB2312.h
文件 952 2015-03-18 20:49 心率计\完成版 1.0\BSP\gpio.c
文件 106 2015-03-18 20:49 心率计\完成版 1.0\BSP\gpio.h
文件 3028 2015-03-06 16:46 心率计\完成版 1.0\BSP\GPS.c
文件 99 2014-09-06 20:59 心率计\完成版 1.0\BSP\GPS.h
文件 22163 2015-03-11 16:00 心率计\完成版 1.0\BSP\GSM.c
文件 1851 2015-03-11 15:54 心率计\完成版 1.0\BSP\GSM.h
文件 57228 2015-03-20 19:31 心率计\完成版 1.0\BSP\LcdLib.c
文件 4819 2014-12-15 22:12 心率计\完成版 1.0\BSP\lcdlib.h
文件 1222 2012-08-05 10:50 心率计\完成版 1.0\BSP\led.c
文件 590 2011-09-05 10:49 心率计\完成版 1.0\BSP\led.h
文件 15541 2015-03-19 18:55 心率计\完成版 1.0\BSP\list.c
文件 1697 2015-03-17 15:33 心率计\完成版 1.0\BSP\list.h
文件 358403 2014-10-22 10:30 心率计\完成版 1.0\BSP\number.h
文件 98939 2014-12-23 20:14 心率计\完成版 1.0\BSP\pluse.h
............此处省略269个文件信息
评论
共有 条评论