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

Dependencies:   AQM0802A DigitalSw mbed

Committer:
suupen
Date:
Thu Jun 08 04:46:15 2017 +0000
Revision:
5:f137bb7eeda6
Parent:
4:001603e48dc8
???;

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 5:f137bb7eeda6 24 DigitalSw startSw(p25);
suupen 5:f137bb7eeda6 25 DigitalSw upSw(p30);
suupen 5:f137bb7eeda6 26 DigitalSw downSw(p29);
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 5:f137bb7eeda6 62
suupen 5:f137bb7eeda6 63 if(startSw.getOnEdge() == 1) {
suupen 5:f137bb7eeda6 64 priodMsurementRequest();
suupen 5:f137bb7eeda6 65 }
suupen 5:f137bb7eeda6 66
suupen 3:2a8fdcc54c95 67 #ifdef LCD
suupen 4:001603e48dc8 68 point = p;
suupen 4:001603e48dc8 69 if(true == surementData(&point, &hiPriod, &loPriod)) {
suupen 3:2a8fdcc54c95 70 lcd.cls();
suupen 5:f137bb7eeda6 71 lcd.printf("p=%2d hi = %4d\n",point, hiPriod);
suupen 5:f137bb7eeda6 72 lcd.printf("mem lo = %4d",loPriod);
suupen 4:001603e48dc8 73 wait(0.2);
suupen 4:001603e48dc8 74 } else {
suupen 4:001603e48dc8 75 p = 0;
suupen 4:001603e48dc8 76 lcd.cls();
suupen 5:f137bb7eeda6 77 lcd.printf("p=%2d hi = %4d\n",point, hiPriod);
suupen 5:f137bb7eeda6 78 lcd.printf("smp lo = %4d",loPriod);
suupen 3:2a8fdcc54c95 79 wait(0.2);
suupen 3:2a8fdcc54c95 80 }
suupen 3:2a8fdcc54c95 81 #endif // LCD
suupen 0:c5384fa0fc28 82
suupen 0:c5384fa0fc28 83 }
suupen 3:2a8fdcc54c95 84
suupen 0:c5384fa0fc28 85 }