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

Dependencies:   mbed

main.cpp

Committer:
tsumagari
Date:
2016-11-09
Revision:
0:e0480c62dead

File content as of revision 0:e0480c62dead:

#include "mbed.h"

DigitalOut myled(LED1);

//-----------------------------------(resetInterrupt def)
extern "C" void mbed_reset();
InterruptIn resetPin(p30);
Timer resetTimeCount;
void resetInterrupt(){
    while(resetPin){
        resetTimeCount.start();
        if(resetTimeCount.read()>3) mbed_reset();
    }
    resetTimeCount.reset();
}
//-------------------------------------------------------

int main() {
//--------------------------------------(resetInterrupt init)
    resetPin.rise(resetInterrupt);
    resetPin.mode(PullDown);
//-----------------------------------------------------------
    float t = 1.0;
    while(1) {
        myled = 1;
        wait(t);
        myled = 0;
        wait(t);
        if(t>0.005) t -= 0.1;
    }
}