ZHAOYU XIANG
/
HRM
HRM
HRM.h@0:58ea8e70a8d8, 2022-07-31 (annotated)
- Committer:
- 2675375x
- Date:
- Sun Jul 31 20:19:02 2022 +0000
- Revision:
- 0:58ea8e70a8d8
HRM with LPC1768,calculating the BPM and communicating with Android by bluetooth
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
2675375x | 0:58ea8e70a8d8 | 1 | #include "mbed.h" |
2675375x | 0:58ea8e70a8d8 | 2 | |
2675375x | 0:58ea8e70a8d8 | 3 | AnalogIn sensor(p20); |
2675375x | 0:58ea8e70a8d8 | 4 | Serial bt(p9, p10); |
2675375x | 0:58ea8e70a8d8 | 5 | float rate = 0; |
2675375x | 0:58ea8e70a8d8 | 6 | |
2675375x | 0:58ea8e70a8d8 | 7 | float Get_Array_Max(float* array, int size){ |
2675375x | 0:58ea8e70a8d8 | 8 | float max = array[0]; |
2675375x | 0:58ea8e70a8d8 | 9 | for(int i = 1; i < size; i++){ |
2675375x | 0:58ea8e70a8d8 | 10 | if(array[i] > max){ |
2675375x | 0:58ea8e70a8d8 | 11 | max = array[i]; |
2675375x | 0:58ea8e70a8d8 | 12 | } |
2675375x | 0:58ea8e70a8d8 | 13 | } |
2675375x | 0:58ea8e70a8d8 | 14 | return max; |
2675375x | 0:58ea8e70a8d8 | 15 | } |
2675375x | 0:58ea8e70a8d8 | 16 | |
2675375x | 0:58ea8e70a8d8 | 17 | float Get_Array_Min(float* array, int size){ |
2675375x | 0:58ea8e70a8d8 | 18 | float min = array[0]; |
2675375x | 0:58ea8e70a8d8 | 19 | for(int i = 1; i < size; i++){ |
2675375x | 0:58ea8e70a8d8 | 20 | if(array[i] < min){ |
2675375x | 0:58ea8e70a8d8 | 21 | min = array[i]; |
2675375x | 0:58ea8e70a8d8 | 22 | } |
2675375x | 0:58ea8e70a8d8 | 23 | } |
2675375x | 0:58ea8e70a8d8 | 24 | return min; |
2675375x | 0:58ea8e70a8d8 | 25 | } |
2675375x | 0:58ea8e70a8d8 | 26 | |
2675375x | 0:58ea8e70a8d8 | 27 | |
2675375x | 0:58ea8e70a8d8 | 28 | float Get_MaxRate(float* array, int size){ |
2675375x | 0:58ea8e70a8d8 | 29 | float maxrate = 1; |
2675375x | 0:58ea8e70a8d8 | 30 | for(int i = 1;i <size; i++){ |
2675375x | 0:58ea8e70a8d8 | 31 | float pre_rate = rate; |
2675375x | 0:58ea8e70a8d8 | 32 | float rate = (array[i] - array[i-1])/0.001; |
2675375x | 0:58ea8e70a8d8 | 33 | if(rate > pre_rate){ |
2675375x | 0:58ea8e70a8d8 | 34 | maxrate = rate; |
2675375x | 0:58ea8e70a8d8 | 35 | } |
2675375x | 0:58ea8e70a8d8 | 36 | } |
2675375x | 0:58ea8e70a8d8 | 37 | return maxrate; |
2675375x | 0:58ea8e70a8d8 | 38 | } |
2675375x | 0:58ea8e70a8d8 | 39 |