![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
RGB Dimmer mit Klassen
Dependencies: mbed
BtnEventM0.h
- Committer:
- Kilian
- Date:
- 2014-12-12
- Revision:
- 0:2af9d1c6c6ee
File content as of revision 0:2af9d1c6c6ee:
class BtnEventM0 { public: int16_t pressed; BtnEventM0(PinName pin) : _isr(pin) { pressed=0; } int CheckFlag() { if( pressed ) { pressed=0; return 1; } return 0; } void CheckButton() { if( _isr.read() ) pressed = 1; } void Init() { _isr.rise(this, &BtnEventM0::RisingISR); } void RisingISR() { if( _isr.read() ) pressed = 1; } protected: InterruptIn _isr; }; /* class BtnEventM02 : public BtnEventM0 { public: BtnEventM02(PinName pin) : BtnEventM0(pin) { _tm.stop(); _tm.reset(); _state=1; } void Init() { _isr.rise(this, &BtnEventM02::RisingISR); } void RisingISR() { if( !_isr.read() ) return; pressed = 1; _tm.start(); _state = 2; } void CheckButton() { if( _state==1 ) return; if( _state==2 ) { if( !_isr.read() ) { _state = 1; return; } if( _tm.read_ms()>500 ) { _tm.reset(); _state = 3; pressed = 1; } } else if( _state==3 ) { if( !_isr.read() ) { _state = 1; return; } if( _tm.read_ms()>100 ) { _tm.reset(); _state = 3; pressed = 1; } } } private: int16_t _state; Timer _tm; }; */