IR remoute control multiple click button
UserButton.h
- Committer:
- docent
- Date:
- 2019-07-12
- Revision:
- 0:94d6bf511846
- Child:
- 1:d5f5481d7eaf
- Child:
- 2:7a268df54696
File content as of revision 0:94d6bf511846:
InterruptIn mybutton(USER_BUTTON); Timeout FrameTimeout; Timeout BounceTimeout; uint8_t Debounce=0; uint8_t cnt=0,*pind_cnt; uint8_t *pmode=0; //------------------ void FrameTimeout_isr() { *pmode=cnt; cnt=0; } //--------------------- void BounceTimeout_isr() { Debounce=0; } //------------ void pressed() { if(Debounce==0){ Debounce=1; cnt++; *pind_cnt=cnt; FrameTimeout.detach(); FrameTimeout.attach(FrameTimeout_isr,1.0); BounceTimeout.attach(BounceTimeout_isr,0.2); } } //----------------------------------- void ButtonIni(uint8_t *pind,uint8_t *pm) { pmode=pm; pind_cnt=pind; mybutton.fall(&pressed); }