Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
HRM.cpp
00001 #include "mbed.h" 00002 #include "HRM.h" 00003 00004 00005 float data =3.3; 00006 float previous_data =0; 00007 int count1= 0; 00008 00009 int main(void){ 00010 00011 bt.baud(9600); 00012 int count1 = 0; 00013 float time_perhb; 00014 bt.printf("Analyse signal\n\r"); 00015 00016 float samples[2048]; 00017 float adc_value; 00018 float *p =samples; 00019 for(int i = 0; i<2048;i++){ 00020 adc_value = sensor.read()* 3.3; 00021 *(p+i) = adc_value ; 00022 wait_ms(1); 00023 } 00024 00025 float max = Get_Array_Max(samples,2048); 00026 float min = Get_Array_Min(samples,2048); 00027 float maxrate = Get_MaxRate(samples,2048); 00028 float threshold = (max - min)*0.7+ min; 00029 00030 int BPM; 00031 int swi = 1; 00032 bool firstcircle = true; 00033 00034 while(1){ 00035 //swi = bt.getc(); 00036 if(swi == 1){ 00037 bt.printf("max = %f\n",max); 00038 bt.printf("min = %f\n",min); 00039 bt.printf("maxrate = %f\n",maxrate); 00040 bt.printf("threshold = %f\n",threshold); 00041 00042 while(swi == 1){ 00043 previous_data = data; 00044 data = sensor.read()*3.3; 00045 00046 if(data>=threshold && previous_data<threshold){ 00047 if(firstcircle){ 00048 count1 = 0; 00049 firstcircle = false; 00050 } 00051 else{ 00052 if(count1 >20){ 00053 00054 if((data - previous_data)/0.005 < maxrate * 0.7 && count1<100 ){ 00055 bt.printf("Find error point,removed!\n"); 00056 count1++; 00057 wait(0.005); 00058 } 00059 else{ 00060 time_perhb = count1 * 0.005; 00061 BPM = 60/time_perhb; 00062 00063 if(BPM<200&&BPM>30){ 00064 bt.printf("BPM=%d\n", BPM); 00065 } 00066 count1 = 0; 00067 wait(0.005); 00068 } 00069 } 00070 00071 } 00072 00073 } 00074 else{ 00075 count1++; 00076 wait(0.005); 00077 } 00078 } 00079 } 00080 } 00081 }
Generated on Sat Sep 10 2022 01:22:22 by
1.7.2