Gy_39 demo
main.cpp
- Committer:
- rozendhyan
- Date:
- 2017-08-24
- Revision:
- 0:c105fad1f12b
File content as of revision 0:c105fad1f12b:
#include "mbed.h"
#define size 14
Serial pc(USBTX,USBRX);
Serial sensor(PA_9,PA_10);
int commend[3] = {0xA5,0x52,0xF7 };
char buf[size];
int Lux,Temp,Preesure,Hum,Height;
void judgement_data(char buf[]){
int i=0;
if(buf[i++]== 0x5A){
//pc.printf("first_step\n");
if(buf[i++]== 0x5A){
//pc.printf("second_step\n");
//i++;//go to data type
if(buf[i] == 0x15){
pc.printf("Lux type\n");
i++;//04
Lux = ((buf[i+1]<<24) | (buf[i+2]<<16) | (buf[i+3]<<8) | buf[i+4])/100;
//Lux = (0x00<<24) | (0x00<<16) | (0xFE<<8) | 0x40;//test
pc.printf("Lux = %d\n", Lux);
}else if(buf[i] == 0x45){
pc.printf("temp type\n");
i++;//0A
Temp = ((buf[i+1]<<8)|(buf[i+2]))/100;
Preesure = ((buf[i+3]<<24)|(buf[i+4]<<16)|(buf[i+5]<<8)|(buf[i+6]))/100;
Hum = ((buf[i+7]<<8)|(buf[i+8]))/100;
Height = ((buf[i+9]<<8)|(buf[i+10]));
pc.printf("Temp = %d\n", Temp);
pc.printf("Preesure = %d\n", Preesure);
pc.printf("Hum = %d\n", Hum);
pc.printf("Height = %d\n", Height);
}
}
}
}
int main(){
pc.baud(9600);
//pc.printf("testing use serial port\n");
while(1){
for(int i=0;i<3;i++){
pc.putc(commend[i]);
sensor.putc(commend[i]);
}
for(int i=0;i<size;i++){
buf[i] = sensor.getc();
pc.putc(buf[i]);
}
pc.printf("\n");//enter
judgement_data(buf);
wait(3);
}
}