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

Dependencies:   AQM0802A DigitalSw mbed

Committer:
suupen
Date:
Sat May 20 01:33:48 2017 +0000
Revision:
0:c5384fa0fc28
Child:
1:d4291fd3a94c
priodMsurement??????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:c5384fa0fc28 1 #include "mbed.h"
suupen 0:c5384fa0fc28 2 #include "testLed.h"
suupen 0:c5384fa0fc28 3
suupen 0:c5384fa0fc28 4 DigitalOut testLed(LED1);
suupen 0:c5384fa0fc28 5
suupen 0:c5384fa0fc28 6 Timer timerTestLed;
suupen 0:c5384fa0fc28 7 bool brinkRequest = false;
suupen 0:c5384fa0fc28 8
suupen 0:c5384fa0fc28 9 void testLedInitalize(void)
suupen 0:c5384fa0fc28 10 {
suupen 0:c5384fa0fc28 11 timerTestLed.start();
suupen 0:c5384fa0fc28 12 timerTestLed.reset();
suupen 0:c5384fa0fc28 13 brinkRequest = false;
suupen 0:c5384fa0fc28 14
suupen 0:c5384fa0fc28 15 }
suupen 0:c5384fa0fc28 16
suupen 0:c5384fa0fc28 17 uint8_t brinkPosition = 0; // brinkPattern[][ここ]
suupen 0:c5384fa0fc28 18 uint16_t brinkPriod = 0; // 点滅時間 1/1 ([ms]/count)
suupen 0:c5384fa0fc28 19 uint32_t brinkPattern[][2] = {
suupen 0:c5384fa0fc28 20 {1,10},
suupen 0:c5384fa0fc28 21 {0,10},
suupen 0:c5384fa0fc28 22
suupen 0:c5384fa0fc28 23 {1,100},
suupen 0:c5384fa0fc28 24 {0,100},
suupen 0:c5384fa0fc28 25
suupen 0:c5384fa0fc28 26 {1,10},
suupen 0:c5384fa0fc28 27 {0,10},
suupen 0:c5384fa0fc28 28
suupen 0:c5384fa0fc28 29 {1,100},
suupen 0:c5384fa0fc28 30 {0,100},
suupen 0:c5384fa0fc28 31
suupen 0:c5384fa0fc28 32 {1,10},
suupen 0:c5384fa0fc28 33 {0,10},
suupen 0:c5384fa0fc28 34
suupen 0:c5384fa0fc28 35 {1,100},
suupen 0:c5384fa0fc28 36 {0,100},
suupen 0:c5384fa0fc28 37
suupen 0:c5384fa0fc28 38 {1,10},
suupen 0:c5384fa0fc28 39 {0,10},
suupen 0:c5384fa0fc28 40
suupen 0:c5384fa0fc28 41 {1,100},
suupen 0:c5384fa0fc28 42 {0,100},
suupen 0:c5384fa0fc28 43
suupen 0:c5384fa0fc28 44 {1,10},
suupen 0:c5384fa0fc28 45 {0,10},
suupen 0:c5384fa0fc28 46
suupen 0:c5384fa0fc28 47 {1,200},
suupen 0:c5384fa0fc28 48 {0,300},
suupen 0:c5384fa0fc28 49
suupen 0:c5384fa0fc28 50 {1,100},
suupen 0:c5384fa0fc28 51 {0,100},
suupen 0:c5384fa0fc28 52
suupen 0:c5384fa0fc28 53 {1,10},
suupen 0:c5384fa0fc28 54 {0,10},
suupen 0:c5384fa0fc28 55
suupen 0:c5384fa0fc28 56 {1,200},
suupen 0:c5384fa0fc28 57 {0,300},
suupen 0:c5384fa0fc28 58
suupen 0:c5384fa0fc28 59 {1,100},
suupen 0:c5384fa0fc28 60 {0,100},
suupen 0:c5384fa0fc28 61
suupen 0:c5384fa0fc28 62 {1,10},
suupen 0:c5384fa0fc28 63 {0,10},
suupen 0:c5384fa0fc28 64
suupen 0:c5384fa0fc28 65 {1,200},
suupen 0:c5384fa0fc28 66 {0,300},
suupen 0:c5384fa0fc28 67
suupen 0:c5384fa0fc28 68 {1,100},
suupen 0:c5384fa0fc28 69 {0,100},
suupen 0:c5384fa0fc28 70
suupen 0:c5384fa0fc28 71 {1,10},
suupen 0:c5384fa0fc28 72 {0,10},
suupen 0:c5384fa0fc28 73
suupen 0:c5384fa0fc28 74 {1,200},
suupen 0:c5384fa0fc28 75 {0,300},
suupen 0:c5384fa0fc28 76
suupen 0:c5384fa0fc28 77 {1,100},
suupen 0:c5384fa0fc28 78 {0,100},
suupen 0:c5384fa0fc28 79
suupen 0:c5384fa0fc28 80 {1,10},
suupen 0:c5384fa0fc28 81 {0,10},
suupen 0:c5384fa0fc28 82
suupen 0:c5384fa0fc28 83 {1,200},
suupen 0:c5384fa0fc28 84 {0,300},
suupen 0:c5384fa0fc28 85
suupen 0:c5384fa0fc28 86 {1,100},
suupen 0:c5384fa0fc28 87 {0,100},
suupen 0:c5384fa0fc28 88
suupen 0:c5384fa0fc28 89 {1,10},
suupen 0:c5384fa0fc28 90 {0,10},
suupen 0:c5384fa0fc28 91
suupen 0:c5384fa0fc28 92 {1,200},
suupen 0:c5384fa0fc28 93 {0,300},
suupen 0:c5384fa0fc28 94
suupen 0:c5384fa0fc28 95 {1,100},
suupen 0:c5384fa0fc28 96 {0,100},
suupen 0:c5384fa0fc28 97
suupen 0:c5384fa0fc28 98 {1,10},
suupen 0:c5384fa0fc28 99 {0,10},
suupen 0:c5384fa0fc28 100
suupen 0:c5384fa0fc28 101 {1,200},
suupen 0:c5384fa0fc28 102 {0,300},
suupen 0:c5384fa0fc28 103
suupen 0:c5384fa0fc28 104 {1,100},
suupen 0:c5384fa0fc28 105 {0,100},
suupen 0:c5384fa0fc28 106
suupen 0:c5384fa0fc28 107 {1,10},
suupen 0:c5384fa0fc28 108 {0,10},
suupen 0:c5384fa0fc28 109
suupen 0:c5384fa0fc28 110 {1,200},
suupen 0:c5384fa0fc28 111 {0,300},
suupen 0:c5384fa0fc28 112
suupen 0:c5384fa0fc28 113 {2,0} // end
suupen 0:c5384fa0fc28 114 };
suupen 0:c5384fa0fc28 115
suupen 0:c5384fa0fc28 116 bool testLedMain(bool request)
suupen 0:c5384fa0fc28 117 {
suupen 0:c5384fa0fc28 118 if(brinkRequest == false) {
suupen 0:c5384fa0fc28 119 if(request == true) {
suupen 0:c5384fa0fc28 120 brinkRequest = true;
suupen 0:c5384fa0fc28 121 brinkPosition = 0;
suupen 0:c5384fa0fc28 122 testLed = brinkPattern[brinkPosition][0];
suupen 0:c5384fa0fc28 123 brinkPriod = brinkPattern[brinkPosition][1];
suupen 0:c5384fa0fc28 124
suupen 0:c5384fa0fc28 125 timerTestLed.reset();
suupen 0:c5384fa0fc28 126 } else {
suupen 0:c5384fa0fc28 127 // nothing
suupen 0:c5384fa0fc28 128 }
suupen 0:c5384fa0fc28 129 } else {
suupen 0:c5384fa0fc28 130 if(timerTestLed.read_ms() > brinkPriod) {
suupen 0:c5384fa0fc28 131 brinkPosition++;
suupen 0:c5384fa0fc28 132 if(brinkPattern[brinkPosition][0] == 2) {
suupen 0:c5384fa0fc28 133 testLed = 0;
suupen 0:c5384fa0fc28 134 brinkRequest = false;
suupen 0:c5384fa0fc28 135 } else {
suupen 0:c5384fa0fc28 136 testLed = brinkPattern[brinkPosition][0];
suupen 0:c5384fa0fc28 137 brinkPriod = brinkPattern[brinkPosition][1];
suupen 0:c5384fa0fc28 138 timerTestLed.reset();
suupen 0:c5384fa0fc28 139
suupen 0:c5384fa0fc28 140 }
suupen 0:c5384fa0fc28 141 }
suupen 0:c5384fa0fc28 142 }
suupen 0:c5384fa0fc28 143 return (brinkRequest);
suupen 0:c5384fa0fc28 144 }