模块是STM32单片机+sim800A模块+GPS模块+max30100模块。
无需原理图 模块端口有说明,可以直接进行连接。
详细说明:
1.本程序使用晶振为12MHZ,如果使用8MHZ晶振请自行修改时钟,在stm32f10x.h以及systerm_...f10.c修改两个宏即可;
2.程序功能 通过max30100采集人体心率以及含氧量等数据;
3.通过SIM800A的GPRS流量通信方式发送至上位机;
4.附加功能 使用1575R-A GPS定位模块实时定位,使用串口1发送数据至上位机,函数已屏蔽需自行打开函数。
单片机源程序如下:
- #include "headfile.h"
- u8 gsm_order1[]={"AT\r\n"};
- u8 gsm_order2[]={"AT+CMGF=1\r\n"}; //用于设置短信的模式,为1是文本模式(只有数字和英文)0是pdu模式(还可以有中文)
- u8 gsm_order3[]={"AT+CSCS=\"GSM\"\r\n"}; //设置什么样的字体让模块接受
- u8 gsm_order4[]={"AT+CMGS=\"13541990463\"\r\n"};//发送内容
- u8 gsm_order5[]={"AT\r\n"};
- u8 gsm_order6[]={"AT+CMGF=1\r\n"}; //用于设置短信的模式,为1是文本模式(只有数字和英文)0是pdu模式(还可以有中文)
- u8 gsm_order7[]={"AT+CSCS=\"UCS2\"\r\n"}; //设置什么样的字体让模块接受
- u8 gsm_order8[]={"AT+CSMP=17,0,2,25\r\n"};//设置文本模式短消息参数
- u8 gsm_order9[]={"AT+CMGS="};
- u8 gsm_order10[]={"8BF76CE8610FFF0C80014EBA5FC373875F025E383002"}; //汉字文本
- //请注意,老人心率异常。
- u8 gsm_order11[]={"8BF76CE8610FFF0C80014EBA542B6C2791CF5F025E383002"}; //汉字文本
- //请注意,老人含氧量异常。
- u8 gsm_order12[]={"4FE153F74E225931FF0C8BF7538B597D91CD65B06D4B91CF0021"}; //汉字文本
- //信号丢失,请压好重新测量!
- u8 PhoneNO[]="13541990463"; //接受号码
- void gsm_string(u8 *p)
- {
- Usart3_Putstring(gsm_order1);
- delay_s(1);
- Usart3_Putstring(gsm_order2);
- delay_s(1);
- Usart3_Putstring(gsm_order3);
- delay_s(1);
- Usart3_Putstring(gsm_order4);
- delay_s(1);
- Usart3_Putstring(p);
- delay_s(2);
- Usart3_PutChar(0x1a);
- printf("message_send ok。。\r\n");
- delay_s(2);
- }
- void gsm_text(u8 x)
- {
- u8 send_number;
- Usart3_Putstring(gsm_order6);
- delay_s(1);
- Usart3_Putstring(gsm_order7);
- delay_s(1);
- Usart3_Putstring(gsm_order8);
- delay_s(1);
- Usart3_Putstring(gsm_order9);
- Usart3_PutChar('"');
- for(send_number=0;send_number<11;send_number++)
- {
- Usart3_PutChar('0');
- Usart3_PutChar('0');
- Usart3_PutChar('3');
- Usart3_PutChar(PhoneNO[send_number]);
- }
- Usart3_PutChar('"');
- Usart3_PutChar('\r'); //发送回车指令//
- Usart3_PutChar('\n'); //发送换行//
- delay_s(2);
- if(x==1) Usart3_Putstring(gsm_order10);
- else if(x==2) Usart3_Putstring(gsm_order11);
- else Usart3_Putstring(gsm_order12);
- Usart3_PutChar(0x1a);
- printf("message_send ok.....\r\n");
- delay_s(2);
- }
复制代码
所有资料51hei提供下载:
GPRS+GSM+GPS+MAX30100心率采集通信_for_stm32.rar
(2.45 MB, 下载次数: 145)
|