CHANG rozen
/
401RE_Sensor2_demo
Gy_39 demo
main.cpp@0:c105fad1f12b, 2017-08-24 (annotated)
- Committer:
- rozendhyan
- Date:
- Thu Aug 24 17:02:12 2017 +0000
- Revision:
- 0:c105fad1f12b
gy_39 demo
Who changed what in which revision?
User | Revision | Line number | New 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 | } |