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