![](/media/cache/profiles/90a82bf94b4c5981e7e68ff425e519f3.50x50_q85.jpg)
LEDの点滅や、ブザーのOn,Offの周期測定をおこなう。 搬送波の周期は測定できない(10ms周期以上のON,OFF)
Dependencies: AQM0802A DigitalSw mbed
main.cpp@5:f137bb7eeda6, 2017-06-08 (annotated)
- Committer:
- suupen
- Date:
- Thu Jun 08 04:46:15 2017 +0000
- Revision:
- 5:f137bb7eeda6
- Parent:
- 4:001603e48dc8
???;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |