///////////////////////////// // // prog_practice_9 project // button.cpp // // 9/27/22 tj // // button.cpp // using input interrupts and timer // ////////////////////////////// #include "mbed.h" #include void splash(void); void but_isr(void); // global variable for ISR int but_flag = 0; // Global objects Timer TB1; // must be here to access it insude the ISR int main(void){ setbuf(stdout, NULL); int tmp; tmp = 0; // create interrupt input object InterruptIn button(D4); button.fall(&but_isr); // splash splash(); //hang out in loop while(1){ tmp++; } return 0; }// end main void splash(void){ printf("\n\n Reaction timer \n\n"); return; }// end splash void but_isr(void){ if(but_flag == 0) TB1.start(); else{ TB1.stop(); printf("Reaction time = %llums\n", TB1.elapsed_time().count()/1000); TB1.reset(); } but_flag = !but_flag; return; }// end but_isr