create and send the file to pc

Dependencies:   MCP23017 WattBob_TextLCD mbed

Fork of HelloWorld by Simon Ford

Committer:
haseo1989
Date:
Fri Feb 14 12:50:29 2014 +0000
Revision:
3:6cc06b58870b
Parent:
2:47c808c02920
Child:
4:b5b159adc261
try to show something on the moniter

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:fb6bbc10ffa0 1 #include "mbed.h"
simon 0:fb6bbc10ffa0 2
haseo1989 2:47c808c02920 3 DigitalIn 1sIP(p5);
haseo1989 2:47c808c02920 4 DigitalIn 400msIP1(p6);
haseo1989 2:47c808c02920 5 DigitalIn 400msIP2(p7);
haseo1989 3:6cc06b58870b 6 AnalogIn 800msIP1(p19);
haseo1989 3:6cc06b58870b 7 AnalogIn 800msIP2(p20);
haseo1989 3:6cc06b58870b 8
haseo1989 3:6cc06b58870b 9 DIgitalOut bit4(LED1);
haseo1989 3:6cc06b58870b 10 DIgitalOut bit3(LED2);
haseo1989 3:6cc06b58870b 11 DIgitalOut bit2(LED3);
haseo1989 3:6cc06b58870b 12 DIgitalOut bit1(LED4);
haseo1989 3:6cc06b58870b 13
haseo1989 3:6cc06b58870b 14 int IP1s,IP400ms1,IP400ms2 = 0;
haseo1989 3:6cc06b58870b 15 int IP800ms1[4],IP800ms2[4] = 0;
haseo1989 3:6cc06b58870b 16 int freq = 0;
haseo1989 3:6cc06b58870b 17 int aver_anl1,aver_anl2 = 0;
haseo1989 3:6cc06b58870b 18 int digi_val = 0;
haseo1989 3:6cc06b58870b 19
haseo1989 3:6cc06b58870b 20 int ero_code = 0;
haseo1989 3:6cc06b58870b 21
haseo1989 3:6cc06b58870b 22 int flag4task3 = 0;
haseo1989 3:6cc06b58870b 23 int run_task = 0;
haseo1989 3:6cc06b58870b 24 int led_show = 0;
simon 0:fb6bbc10ffa0 25
simon 0:fb6bbc10ffa0 26 int main() {
haseo1989 3:6cc06b58870b 27
haseo1989 3:6cc06b58870b 28 while(1)
haseo1989 3:6cc06b58870b 29 {
haseo1989 3:6cc06b58870b 30 }
haseo1989 3:6cc06b58870b 31
haseo1989 3:6cc06b58870b 32 }
haseo1989 3:6cc06b58870b 33
haseo1989 3:6cc06b58870b 34 // wait(1) -> waiting 10ms
haseo1989 3:6cc06b58870b 35 void task1_check_wava1s() // check the square wave per second
haseo1989 3:6cc06b58870b 36 {
haseo1989 3:6cc06b58870b 37 IP1s = 0;
haseo1989 3:6cc06b58870b 38 for(int i = 0; i < 1000; i++) //the accuracy is 1us
haseo1989 3:6cc06b58870b 39 if(1sIP == 1)
haseo1989 3:6cc06b58870b 40 IP1s++; //the lasting time of the impulse of square wave
haseo1989 3:6cc06b58870b 41 }
haseo1989 3:6cc06b58870b 42
haseo1989 3:6cc06b58870b 43 void task2_checkDIP400ms() //check the SWes per 400ms
haseo1989 3:6cc06b58870b 44 {
haseo1989 3:6cc06b58870b 45 if( 400msIP1 != 0 )
haseo1989 3:6cc06b58870b 46 IP400ms1 = 1;
haseo1989 3:6cc06b58870b 47 else IP400ms1 = 0;
haseo1989 3:6cc06b58870b 48
haseo1989 3:6cc06b58870b 49 if( 400msIP2 !=0 )
haseo1989 3:6cc06b58870b 50 IP400ms2 = 1;
haseo1989 3:6cc06b58870b 51 else TP400ms2 = 0;
haseo1989 3:6cc06b58870b 52
haseo1989 3:6cc06b58870b 53 }
haseo1989 3:6cc06b58870b 54
haseo1989 3:6cc06b58870b 55 void task3_checkAIP800ms()
haseo1989 3:6cc06b58870b 56 {
haseo1989 3:6cc06b58870b 57 IP800ms1[flag4task3] = 800msIP1;
haseo1989 3:6cc06b58870b 58 IP800ms2[flag4task3] = 800msIP2;
haseo1989 3:6cc06b58870b 59
haseo1989 3:6cc06b58870b 60 flag4task3++;
haseo1989 3:6cc06b58870b 61 flag4task3 = flag4task3%4;
simon 0:fb6bbc10ffa0 62 }
haseo1989 3:6cc06b58870b 63
haseo1989 3:6cc06b58870b 64 void task4_display2s()
haseo1989 3:6cc06b58870b 65 {
haseo1989 3:6cc06b58870b 66 double freq2;
haseo1989 3:6cc06b58870b 67 freq2 = 1/IP1s;
haseo1989 3:6cc06b58870b 68 freq2 = freq2*1000000;
haseo1989 3:6cc06b58870b 69 freq = freq2/1; //frenquency of square wave
haseo1989 3:6cc06b58870b 70
haseo1989 3:6cc06b58870b 71 double aver_anl3,aver_anl4 = 0;
haseo1989 3:6cc06b58870b 72 aver_anl3 = IP800ms1[0] + IP800ms1[1] + IP800ms1[2] + IP800ms1[3];
haseo1989 3:6cc06b58870b 73 aver_nal3 = aver_anl3/4;
haseo1989 3:6cc06b58870b 74
haseo1989 3:6cc06b58870b 75 aver_nal1 = aver_anl3/1; //averaging analog input1
haseo1989 3:6cc06b58870b 76
haseo1989 3:6cc06b58870b 77 aver_anl4 = IP800ms2[0] + IP800ms2[1] + IP800ms2[2] + IP800ms2[3];
haseo1989 3:6cc06b58870b 78 aver_nal4 = aver_anl4/4;
haseo1989 3:6cc06b58870b 79
haseo1989 3:6cc06b58870b 80 aver_nal2 = aver_anl4/1; //averaging analog input2
haseo1989 3:6cc06b58870b 81
haseo1989 3:6cc06b58870b 82 if ( IP400ms2 ==0 && IP400ms1 ==0 ) digi_val = 00;
haseo1989 3:6cc06b58870b 83 else if ( IP400ms2 ==0 && IP400ms1 ==1 ) digi_val = 01;
haseo1989 3:6cc06b58870b 84 else if ( IP400ms2 ==1 && IP400ms1 ==0 ) digi_val = 10;
haseo1989 3:6cc06b58870b 85 else digi_val = 11;
haseo1989 3:6cc06b58870b 86 // digital value
haseo1989 3:6cc06b58870b 87
haseo1989 3:6cc06b58870b 88 // show out all the values
haseo1989 3:6cc06b58870b 89
haseo1989 3:6cc06b58870b 90
haseo1989 3:6cc06b58870b 91 }
haseo1989 3:6cc06b58870b 92
haseo1989 3:6cc06b58870b 93 void task5_check_SWes1.8s()
haseo1989 3:6cc06b58870b 94 {
haseo1989 3:6cc06b58870b 95 if((IP400ms1 == 1) && (aver_anl1 > aver_anl2)) ero_code = 3;
haseo1989 3:6cc06b58870b 96 else ero_code = 0; //error code
haseo1989 3:6cc06b58870b 97
haseo1989 3:6cc06b58870b 98 if(IP400ms2 == 1)
haseo1989 3:6cc06b58870b 99 run_task = 1;
haseo1989 3:6cc06b58870b 100 else
haseo1989 3:6cc06b58870b 101 run_task = 0;
haseo1989 3:6cc06b58870b 102
haseo1989 3:6cc06b58870b 103 }
haseo1989 3:6cc06b58870b 104
haseo1989 3:6cc06b58870b 105 void run_task1.5s() //blink led
haseo1989 3:6cc06b58870b 106 {
haseo1989 3:6cc06b58870b 107 led_show = led_show%15;
haseo1989 3:6cc06b58870b 108
haseo1989 3:6cc06b58870b 109 int num_led = led_show;
haseo1989 3:6cc06b58870b 110
haseo1989 3:6cc06b58870b 111 if(num_led > 7) {num_led = num_led - 8; bit4 = 1 }
haseo1989 3:6cc06b58870b 112 else bit4 = 0;
haseo1989 3:6cc06b58870b 113
haseo1989 3:6cc06b58870b 114 if(num_led > 3) {num_led = num_led - 4; bit3 = 1}
haseo1989 3:6cc06b58870b 115 else bit3 = 0;
haseo1989 3:6cc06b58870b 116
haseo1989 3:6cc06b58870b 117 if(num_led > 1) {num_led = num_led - 2; bit2 = 1}
haseo1989 3:6cc06b58870b 118 else bit2 = 0;
haseo1989 3:6cc06b58870b 119
haseo1989 3:6cc06b58870b 120 bit1 = num;
haseo1989 3:6cc06b58870b 121
haseo1989 3:6cc06b58870b 122 led_show++;
haseo1989 3:6cc06b58870b 123 }
haseo1989 3:6cc06b58870b 124
haseo1989 3:6cc06b58870b 125 void task6_updated5s() //update A.Frequency value B.digital input values C.Filtered analogue values
haseo1989 3:6cc06b58870b 126 {
haseo1989 3:6cc06b58870b 127
haseo1989 3:6cc06b58870b 128
haseo1989 3:6cc06b58870b 129 {