《1心率血压血氧心电监测模组使用手册fk_multi_healthly_monitor_modulv11.docx》由会员分享,可在线阅读,更多相关《1心率血压血氧心电监测模组使用手册fk_multi_healthly_monitor_modulv11.docx(16页珍藏版)》请在第一文库网上搜索。
1、“心率、血压、血氧、心电”健康监测模组使用手册v1.1疯壳版本修正历史版本号修改内容修改人时间备注V1.0初稿Steve2018/12/28初稿VI.11、添加版本修正历史;2、修改标题为壳“心率、血压、血氧、心电”健康监测模块使用手册v1.1;3、修改返回数据中携带的信息fk+mode3的返回值为ecg:int32_tamb1_1ed4_ecgn(即添加一个n)ECG50这四个数组里。#inc1ude#inc1udeg1oba1_io.h#inc1udecommon_uart.h#inc1udeuser_periph_setup.hunsignedcharhr50=0;存放一组心率unsig
2、nedcharspo250=0;存放一组血氧数据unsignedcharb1p50=0;存放一组血压数据unsignedcharECG50=0;存放一组心电boo1hr_fIag=O;boo1spo2_f1ag=0;boo1b1p_f1ag=O;unsignedECG_f1ag=0;/0x01开始采集0x02采集完成0x03原始状态/* *疯壳四合一”心率血压血氧心电”模组指令集* */unsignedcharfk_test=fkrn;测试指令,正常返回OKunsignedcharfk_version=fk+versionrn;获取版本号指令unsignedcharfk_mode1=fk+mo
3、de1rn;模式1获取心率+血氧”指令unsignedcharfk_mode2=,fk+mode2rn;模式2获取心率+血压指令unsignedcharfk_mode3=,fk+mode3rn;模式3获取,心电数据指令unsignedcharfk_c1ose=fk+c1osern;关闭模组指令voidSystemJnit(Void);voidde1ay(unsignedintxtimes);voidde1ay(unsignedintxtimes)延时for(unsignedinti=xtimes;iO;i-)for(unsignedintj=110;j0;j-);intmain(void)主函
4、数(systemjnit();periphjnit();whi1e(1)(if(hr_f1ag=O)printf_string(fk_mode2);whi1e(!(hr_f1ag=1&b1p_f1ag=1);等待一组心率血压采集完成hr_f1ag=O;b1p_f1ag=O;printf_string(fk_c1ose);de1ay(50);printf_string(fk_mode1);whi1e(!(hr_f1ag=1&spo2_f1ag=1);等待一组心率血氧采集完成hr_f1ag=O;spo2_f1ag=0;printf_string(fk_c1ose);de1ay(50);printf
5、_string(fk_mode3);ECGJIag=OxO1;whi1e(ECG_f1ag!=0x02);等待一组心电数据采集完成ECG_f1ag=O;printf_string(fk_c1ose);采集数据完成)voidSyStem_init(Void)系统初始化(SetWOrd16(C1K_AMBA_REG,0x00);/setc1ocks(hc1kandpc1k)16MHzSetWord16(SET_FREEZE_REG,FRZ_WD0G);/stopwatchdog/openpads/opendebuggerSetBitS16(SYS_CTR1_REG,PAD_1ATCH_EN,1);
6、SetBits16(SYS_CTR1_REG,DEBUGGER_ENAB1E,1);SetBits16(PMU_CTR1_REGzPER1PH_S1EEP,0);/exitperiphera1powerdown4.2 串口接收中断处理unsignedcharbuf50=0;unsignedcharnum=0;voidUART2_Hand1er(void)串口2接收中断服务函数(staticuint8_tbeep_f1ag=1;unsignedchartemp;uint32_tidd;idd=OxOF&GetWord32(UART2_IIR_FCR_REG);if(idd!=NO_INT_PEND)(switch(idd)(caseUART_TIMEOUT:if(uart2_env.errordetect=UART_ERROR_DETECT_ENAB1ED)&uart2_fifo_err_getf()(uart2_rec_error_isr();break;caseRECEIVED_AVAI1AB1E:/uart2_rec_data_avai1_isr();temp=(uint8_t)(0xff&GetWord16(UART2_RBR_THR_D11_REG);bufnum=temp;If(buf0=s,a8buf1=,p,81abuf2=o&buf3=2&buf4=:)