Markus Reiner
/
info_181018_isa
Isa
ISA
https://os.mbed.com/users/mexx/code/info_181018_isa/
Revision 0:476cb58ee740, committed 2018-11-15
- Comitter:
- mexx
- Date:
- Thu Nov 15 17:19:10 2018 +0000
- Commit message:
- Isa
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 476cb58ee740 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Nov 15 17:19:10 2018 +0000 @@ -0,0 +1,44 @@ +#include "mbed.h" + +class SwEventInh: public InterruptIn { + // InterruptIn _isr; + volatile bool _pressed; + void _risingISR(); + + public: + SwEventInh(PinName pin) : InterruptIn (pin) { // create the InterruptIn on the pin specified to SwEvent + rise(callback(this, &SwEventInh::_risingISR)); // attach ISR-function of this SwEvent instance + _pressed=0; + } + int checkFlag(); // must in do-condition (while(true)-loop) continuously interrogated +}; +// ---------------- Switch Event Class Methodes -------------------------- +int SwEventInh::checkFlag() { + if( _pressed ) { + _pressed = 0; + return 1; + } + return 0; +} + +void SwEventInh::_risingISR() { + if( read() ) + _pressed = 1; + _pressed = !_pressed; +} + +SwEventInh sw1(p14); +DigitalOut myled(LED1); + +int main() { + myled = 1; + wait(1); + myled = 0; + printf("Hello SwEvent v0.1\n"); + while(1) { + sw1.read(); + if(sw1.checkFlag()) + myled = ! myled; + } +} + \ No newline at end of file
diff -r 000000000000 -r 476cb58ee740 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Nov 15 17:19:10 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/e95d10626187 \ No newline at end of file