IR remoute control multiple click button
UserButton.h@1:d5f5481d7eaf, 2021-05-07 (annotated)
- Committer:
- docent
- Date:
- Fri May 07 15:39:38 2021 +0000
- Revision:
- 1:d5f5481d7eaf
- Parent:
- 0:94d6bf511846
corrections
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
docent | 1:d5f5481d7eaf | 1 | InterruptIn mybutton(USER_BUTTON);//PC_13 |
docent | 0:94d6bf511846 | 2 | |
docent | 0:94d6bf511846 | 3 | Timeout FrameTimeout; |
docent | 0:94d6bf511846 | 4 | Timeout BounceTimeout; |
docent | 0:94d6bf511846 | 5 | |
docent | 0:94d6bf511846 | 6 | uint8_t Debounce=0; |
docent | 0:94d6bf511846 | 7 | uint8_t cnt=0,*pind_cnt; |
docent | 0:94d6bf511846 | 8 | uint8_t *pmode=0; |
docent | 0:94d6bf511846 | 9 | |
docent | 0:94d6bf511846 | 10 | |
docent | 0:94d6bf511846 | 11 | //------------------ |
docent | 0:94d6bf511846 | 12 | void FrameTimeout_isr() |
docent | 0:94d6bf511846 | 13 | { |
docent | 0:94d6bf511846 | 14 | *pmode=cnt; |
docent | 0:94d6bf511846 | 15 | cnt=0; |
docent | 0:94d6bf511846 | 16 | } |
docent | 0:94d6bf511846 | 17 | |
docent | 0:94d6bf511846 | 18 | //--------------------- |
docent | 0:94d6bf511846 | 19 | void BounceTimeout_isr() |
docent | 0:94d6bf511846 | 20 | { |
docent | 0:94d6bf511846 | 21 | Debounce=0; |
docent | 0:94d6bf511846 | 22 | |
docent | 0:94d6bf511846 | 23 | } |
docent | 0:94d6bf511846 | 24 | |
docent | 0:94d6bf511846 | 25 | //------------ |
docent | 0:94d6bf511846 | 26 | void pressed() |
docent | 0:94d6bf511846 | 27 | { |
docent | 0:94d6bf511846 | 28 | if(Debounce==0){ |
docent | 0:94d6bf511846 | 29 | Debounce=1; |
docent | 0:94d6bf511846 | 30 | cnt++; |
docent | 0:94d6bf511846 | 31 | *pind_cnt=cnt; |
docent | 0:94d6bf511846 | 32 | FrameTimeout.detach(); |
docent | 0:94d6bf511846 | 33 | FrameTimeout.attach(FrameTimeout_isr,1.0); |
docent | 0:94d6bf511846 | 34 | BounceTimeout.attach(BounceTimeout_isr,0.2); |
docent | 0:94d6bf511846 | 35 | } |
docent | 0:94d6bf511846 | 36 | } |
docent | 0:94d6bf511846 | 37 | |
docent | 0:94d6bf511846 | 38 | //----------------------------------- |
docent | 0:94d6bf511846 | 39 | void ButtonIni(uint8_t *pind,uint8_t *pm) |
docent | 0:94d6bf511846 | 40 | { |
docent | 0:94d6bf511846 | 41 | pmode=pm; |
docent | 0:94d6bf511846 | 42 | pind_cnt=pind; |
docent | 0:94d6bf511846 | 43 | mybutton.fall(&pressed); |
docent | 0:94d6bf511846 | 44 | } |
docent | 0:94d6bf511846 | 45 | |
docent | 0:94d6bf511846 | 46 | |
docent | 0:94d6bf511846 | 47 |