ボタンを長押ししてmbed_reset()を呼び出します。

Dependencies:   mbed

Committer:
tsumagari
Date:
Wed Nov 09 12:18:47 2016 +0000
Revision:
0:e0480c62dead
?????????mbed_reset()????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tsumagari 0:e0480c62dead 1 #include "mbed.h"
tsumagari 0:e0480c62dead 2
tsumagari 0:e0480c62dead 3 DigitalOut myled(LED1);
tsumagari 0:e0480c62dead 4
tsumagari 0:e0480c62dead 5 //-----------------------------------(resetInterrupt def)
tsumagari 0:e0480c62dead 6 extern "C" void mbed_reset();
tsumagari 0:e0480c62dead 7 InterruptIn resetPin(p30);
tsumagari 0:e0480c62dead 8 Timer resetTimeCount;
tsumagari 0:e0480c62dead 9 void resetInterrupt(){
tsumagari 0:e0480c62dead 10 while(resetPin){
tsumagari 0:e0480c62dead 11 resetTimeCount.start();
tsumagari 0:e0480c62dead 12 if(resetTimeCount.read()>3) mbed_reset();
tsumagari 0:e0480c62dead 13 }
tsumagari 0:e0480c62dead 14 resetTimeCount.reset();
tsumagari 0:e0480c62dead 15 }
tsumagari 0:e0480c62dead 16 //-------------------------------------------------------
tsumagari 0:e0480c62dead 17
tsumagari 0:e0480c62dead 18 int main() {
tsumagari 0:e0480c62dead 19 //--------------------------------------(resetInterrupt init)
tsumagari 0:e0480c62dead 20 resetPin.rise(resetInterrupt);
tsumagari 0:e0480c62dead 21 resetPin.mode(PullDown);
tsumagari 0:e0480c62dead 22 //-----------------------------------------------------------
tsumagari 0:e0480c62dead 23 float t = 1.0;
tsumagari 0:e0480c62dead 24 while(1) {
tsumagari 0:e0480c62dead 25 myled = 1;
tsumagari 0:e0480c62dead 26 wait(t);
tsumagari 0:e0480c62dead 27 myled = 0;
tsumagari 0:e0480c62dead 28 wait(t);
tsumagari 0:e0480c62dead 29 if(t>0.005) t -= 0.1;
tsumagari 0:e0480c62dead 30 }
tsumagari 0:e0480c62dead 31 }