LEDの点滅や、ブザーのOn,Offの周期測定をおこなう。 搬送波の周期は測定できない(10ms周期以上のON,OFF)

Dependencies:   AQM0802A DigitalSw mbed

Committer:
suupen
Date:
Tue Jun 06 13:15:07 2017 +0000
Revision:
4:001603e48dc8
Parent:
3:2a8fdcc54c95
Child:
5:f137bb7eeda6
??????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 3:2a8fdcc54c95 1 #define LCD
suupen 3:2a8fdcc54c95 2
suupen 3:2a8fdcc54c95 3
suupen 0:c5384fa0fc28 4 #include "mbed.h"
suupen 0:c5384fa0fc28 5 #include "testLed.h"
suupen 3:2a8fdcc54c95 6 #include "testSound.h"
suupen 1:d4291fd3a94c 7 #include "priodMsurement.h"
suupen 3:2a8fdcc54c95 8 #include "DigitalSw.h"
suupen 0:c5384fa0fc28 9
suupen 0:c5384fa0fc28 10
suupen 3:2a8fdcc54c95 11 #ifdef LCD
suupen 3:2a8fdcc54c95 12 #include <AQM0802A.h>
suupen 3:2a8fdcc54c95 13 I2C i2c(p28, p27);
suupen 3:2a8fdcc54c95 14 AQM0802A lcd(i2c); // if 5.0v supply, (i2c, false);
suupen 3:2a8fdcc54c95 15 #endif // LCD
suupen 3:2a8fdcc54c95 16
suupen 0:c5384fa0fc28 17 //DigitalOut myled1(LED1);
suupen 0:c5384fa0fc28 18 DigitalOut myled2(LED2);
suupen 1:d4291fd3a94c 19 //DigitalOut myled3(LED3);
suupen 1:d4291fd3a94c 20 //DigitalOut myled4(LED4);
suupen 0:c5384fa0fc28 21
suupen 4:001603e48dc8 22 //DigitalIn demoLedSw(p20, PullUp);
suupen 3:2a8fdcc54c95 23
suupen 4:001603e48dc8 24 //DigitalSw startSw(p19);
suupen 3:2a8fdcc54c95 25 DigitalSw upSw(p8);
suupen 3:2a8fdcc54c95 26 DigitalSw downSw(p14);
suupen 0:c5384fa0fc28 27
suupen 1:d4291fd3a94c 28 int main()
suupen 1:d4291fd3a94c 29 {
suupen 3:2a8fdcc54c95 30 int8_t p = 0;
suupen 4:001603e48dc8 31 int8_t point = 0;
suupen 3:2a8fdcc54c95 32 int32_t loPriod;
suupen 3:2a8fdcc54c95 33 int32_t hiPriod;
suupen 0:c5384fa0fc28 34
suupen 3:2a8fdcc54c95 35 priodMsurementInitalize();
suupen 3:2a8fdcc54c95 36 testLedInitalize();
suupen 3:2a8fdcc54c95 37 testSoundInitalize();
suupen 0:c5384fa0fc28 38
suupen 3:2a8fdcc54c95 39 int count =0;
suupen 0:c5384fa0fc28 40
suupen 1:d4291fd3a94c 41 while(1) {
suupen 4:001603e48dc8 42 myled2 = !myled2;
suupen 3:2a8fdcc54c95 43
suupen 4:001603e48dc8 44 #ifdef CHECKSIGNAL
suupen 3:2a8fdcc54c95 45 testSoundMain(!demoLedSw);
suupen 1:d4291fd3a94c 46 testLedMain(!demoLedSw);
suupen 3:2a8fdcc54c95 47 #endif
suupen 3:2a8fdcc54c95 48
suupen 3:2a8fdcc54c95 49 priodMsurementMain();
suupen 3:2a8fdcc54c95 50
suupen 3:2a8fdcc54c95 51 if(upSw.getOnEdge() == 1) {
suupen 3:2a8fdcc54c95 52 if(++p >= 50) {
suupen 3:2a8fdcc54c95 53 p = 49;
suupen 3:2a8fdcc54c95 54 }
suupen 3:2a8fdcc54c95 55 }
suupen 3:2a8fdcc54c95 56
suupen 3:2a8fdcc54c95 57 if(downSw.getOnEdge() == 1) {
suupen 3:2a8fdcc54c95 58 if(--p <= 0) {
suupen 3:2a8fdcc54c95 59 p = 0;
suupen 3:2a8fdcc54c95 60 }
suupen 3:2a8fdcc54c95 61 }
suupen 3:2a8fdcc54c95 62 #ifdef LCD
suupen 4:001603e48dc8 63 point = p;
suupen 4:001603e48dc8 64 if(true == surementData(&point, &hiPriod, &loPriod)) {
suupen 3:2a8fdcc54c95 65 lcd.cls();
suupen 4:001603e48dc8 66 lcd.printf("p = %2d hi = %d\n",point, hiPriod);
suupen 4:001603e48dc8 67 lcd.printf("surement lo = %d",loPriod);
suupen 4:001603e48dc8 68 wait(0.2);
suupen 4:001603e48dc8 69 } else {
suupen 4:001603e48dc8 70 p = 0;
suupen 4:001603e48dc8 71 lcd.cls();
suupen 4:001603e48dc8 72 lcd.printf("p = %2d hi = %d\n",point, hiPriod);
suupen 4:001603e48dc8 73 lcd.printf("sample lo = %d",loPriod);
suupen 3:2a8fdcc54c95 74 wait(0.2);
suupen 3:2a8fdcc54c95 75 }
suupen 3:2a8fdcc54c95 76 #endif // LCD
suupen 0:c5384fa0fc28 77
suupen 0:c5384fa0fc28 78 }
suupen 3:2a8fdcc54c95 79
suupen 0:c5384fa0fc28 80 }