Gy_39 demo

Dependencies:   mbed

Committer:
rozendhyan
Date:
Thu Aug 24 17:02:12 2017 +0000
Revision:
0:c105fad1f12b
gy_39 demo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rozendhyan 0:c105fad1f12b 1 #include "mbed.h"
rozendhyan 0:c105fad1f12b 2 #define size 14
rozendhyan 0:c105fad1f12b 3 Serial pc(USBTX,USBRX);
rozendhyan 0:c105fad1f12b 4 Serial sensor(PA_9,PA_10);
rozendhyan 0:c105fad1f12b 5 int commend[3] = {0xA5,0x52,0xF7 };
rozendhyan 0:c105fad1f12b 6 char buf[size];
rozendhyan 0:c105fad1f12b 7 int Lux,Temp,Preesure,Hum,Height;
rozendhyan 0:c105fad1f12b 8 void judgement_data(char buf[]){
rozendhyan 0:c105fad1f12b 9 int i=0;
rozendhyan 0:c105fad1f12b 10 if(buf[i++]== 0x5A){
rozendhyan 0:c105fad1f12b 11 //pc.printf("first_step\n");
rozendhyan 0:c105fad1f12b 12 if(buf[i++]== 0x5A){
rozendhyan 0:c105fad1f12b 13 //pc.printf("second_step\n");
rozendhyan 0:c105fad1f12b 14 //i++;//go to data type
rozendhyan 0:c105fad1f12b 15 if(buf[i] == 0x15){
rozendhyan 0:c105fad1f12b 16 pc.printf("Lux type\n");
rozendhyan 0:c105fad1f12b 17 i++;//04
rozendhyan 0:c105fad1f12b 18 Lux = ((buf[i+1]<<24) | (buf[i+2]<<16) | (buf[i+3]<<8) | buf[i+4])/100;
rozendhyan 0:c105fad1f12b 19 //Lux = (0x00<<24) | (0x00<<16) | (0xFE<<8) | 0x40;//test
rozendhyan 0:c105fad1f12b 20 pc.printf("Lux = %d\n", Lux);
rozendhyan 0:c105fad1f12b 21 }else if(buf[i] == 0x45){
rozendhyan 0:c105fad1f12b 22 pc.printf("temp type\n");
rozendhyan 0:c105fad1f12b 23 i++;//0A
rozendhyan 0:c105fad1f12b 24 Temp = ((buf[i+1]<<8)|(buf[i+2]))/100;
rozendhyan 0:c105fad1f12b 25 Preesure = ((buf[i+3]<<24)|(buf[i+4]<<16)|(buf[i+5]<<8)|(buf[i+6]))/100;
rozendhyan 0:c105fad1f12b 26 Hum = ((buf[i+7]<<8)|(buf[i+8]))/100;
rozendhyan 0:c105fad1f12b 27 Height = ((buf[i+9]<<8)|(buf[i+10]));
rozendhyan 0:c105fad1f12b 28 pc.printf("Temp = %d\n", Temp);
rozendhyan 0:c105fad1f12b 29 pc.printf("Preesure = %d\n", Preesure);
rozendhyan 0:c105fad1f12b 30 pc.printf("Hum = %d\n", Hum);
rozendhyan 0:c105fad1f12b 31 pc.printf("Height = %d\n", Height);
rozendhyan 0:c105fad1f12b 32 }
rozendhyan 0:c105fad1f12b 33 }
rozendhyan 0:c105fad1f12b 34 }
rozendhyan 0:c105fad1f12b 35 }
rozendhyan 0:c105fad1f12b 36
rozendhyan 0:c105fad1f12b 37 int main(){
rozendhyan 0:c105fad1f12b 38 pc.baud(9600);
rozendhyan 0:c105fad1f12b 39 //pc.printf("testing use serial port\n");
rozendhyan 0:c105fad1f12b 40 while(1){
rozendhyan 0:c105fad1f12b 41 for(int i=0;i<3;i++){
rozendhyan 0:c105fad1f12b 42 pc.putc(commend[i]);
rozendhyan 0:c105fad1f12b 43 sensor.putc(commend[i]);
rozendhyan 0:c105fad1f12b 44 }
rozendhyan 0:c105fad1f12b 45
rozendhyan 0:c105fad1f12b 46 for(int i=0;i<size;i++){
rozendhyan 0:c105fad1f12b 47 buf[i] = sensor.getc();
rozendhyan 0:c105fad1f12b 48 pc.putc(buf[i]);
rozendhyan 0:c105fad1f12b 49 }
rozendhyan 0:c105fad1f12b 50 pc.printf("\n");//enter
rozendhyan 0:c105fad1f12b 51 judgement_data(buf);
rozendhyan 0:c105fad1f12b 52 wait(3);
rozendhyan 0:c105fad1f12b 53 }
rozendhyan 0:c105fad1f12b 54 }