interrupt
Dependencies: mbed
main.cpp@0:e24676e8e06c, 2015-10-22 (annotated)
- Committer:
- marcRonquillo
- Date:
- Thu Oct 22 13:32:42 2015 +0000
- Revision:
- 0:e24676e8e06c
interrupt
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
marcRonquillo | 0:e24676e8e06c | 1 | #include "mbed.h" |
marcRonquillo | 0:e24676e8e06c | 2 | |
marcRonquillo | 0:e24676e8e06c | 3 | InterruptIn in1(p17); |
marcRonquillo | 0:e24676e8e06c | 4 | InterruptIn in2(p18); |
marcRonquillo | 0:e24676e8e06c | 5 | |
marcRonquillo | 0:e24676e8e06c | 6 | DigitalOut out1(p21); |
marcRonquillo | 0:e24676e8e06c | 7 | DigitalOut out2(p22); |
marcRonquillo | 0:e24676e8e06c | 8 | |
marcRonquillo | 0:e24676e8e06c | 9 | int count1; |
marcRonquillo | 0:e24676e8e06c | 10 | int count2; |
marcRonquillo | 0:e24676e8e06c | 11 | |
marcRonquillo | 0:e24676e8e06c | 12 | void risingEdge1() |
marcRonquillo | 0:e24676e8e06c | 13 | { |
marcRonquillo | 0:e24676e8e06c | 14 | count1++; |
marcRonquillo | 0:e24676e8e06c | 15 | |
marcRonquillo | 0:e24676e8e06c | 16 | if(count1==3){ |
marcRonquillo | 0:e24676e8e06c | 17 | count1=0; |
marcRonquillo | 0:e24676e8e06c | 18 | out1=0; |
marcRonquillo | 0:e24676e8e06c | 19 | } |
marcRonquillo | 0:e24676e8e06c | 20 | else{ |
marcRonquillo | 0:e24676e8e06c | 21 | out1=1; |
marcRonquillo | 0:e24676e8e06c | 22 | } |
marcRonquillo | 0:e24676e8e06c | 23 | |
marcRonquillo | 0:e24676e8e06c | 24 | } |
marcRonquillo | 0:e24676e8e06c | 25 | |
marcRonquillo | 0:e24676e8e06c | 26 | void fallingEdge1() |
marcRonquillo | 0:e24676e8e06c | 27 | { |
marcRonquillo | 0:e24676e8e06c | 28 | out1=0; |
marcRonquillo | 0:e24676e8e06c | 29 | } |
marcRonquillo | 0:e24676e8e06c | 30 | |
marcRonquillo | 0:e24676e8e06c | 31 | void risingEdge2() |
marcRonquillo | 0:e24676e8e06c | 32 | { |
marcRonquillo | 0:e24676e8e06c | 33 | count2++; |
marcRonquillo | 0:e24676e8e06c | 34 | |
marcRonquillo | 0:e24676e8e06c | 35 | if(count2==4){ |
marcRonquillo | 0:e24676e8e06c | 36 | count2=0; |
marcRonquillo | 0:e24676e8e06c | 37 | out2=0; |
marcRonquillo | 0:e24676e8e06c | 38 | } |
marcRonquillo | 0:e24676e8e06c | 39 | else{ |
marcRonquillo | 0:e24676e8e06c | 40 | out2=1; |
marcRonquillo | 0:e24676e8e06c | 41 | } |
marcRonquillo | 0:e24676e8e06c | 42 | |
marcRonquillo | 0:e24676e8e06c | 43 | } |
marcRonquillo | 0:e24676e8e06c | 44 | |
marcRonquillo | 0:e24676e8e06c | 45 | void fallingEdge2() |
marcRonquillo | 0:e24676e8e06c | 46 | { |
marcRonquillo | 0:e24676e8e06c | 47 | out2=0; |
marcRonquillo | 0:e24676e8e06c | 48 | } |
marcRonquillo | 0:e24676e8e06c | 49 | |
marcRonquillo | 0:e24676e8e06c | 50 | int main() { |
marcRonquillo | 0:e24676e8e06c | 51 | |
marcRonquillo | 0:e24676e8e06c | 52 | out1=0; |
marcRonquillo | 0:e24676e8e06c | 53 | out2=0; |
marcRonquillo | 0:e24676e8e06c | 54 | |
marcRonquillo | 0:e24676e8e06c | 55 | count1=0; |
marcRonquillo | 0:e24676e8e06c | 56 | count2=0; |
marcRonquillo | 0:e24676e8e06c | 57 | |
marcRonquillo | 0:e24676e8e06c | 58 | in1.rise(&risingEdge1); |
marcRonquillo | 0:e24676e8e06c | 59 | in1.fall(&fallingEdge1); |
marcRonquillo | 0:e24676e8e06c | 60 | in2.rise(&risingEdge2); |
marcRonquillo | 0:e24676e8e06c | 61 | in2.fall(&fallingEdge2); |
marcRonquillo | 0:e24676e8e06c | 62 | |
marcRonquillo | 0:e24676e8e06c | 63 | while(1) { |
marcRonquillo | 0:e24676e8e06c | 64 | |
marcRonquillo | 0:e24676e8e06c | 65 | } |
marcRonquillo | 0:e24676e8e06c | 66 | } |