K K
/
toggle_function
base code for switching easily between directions, while keeping signal input low.
main.cpp@1:63a24af333a1, 2015-10-23 (annotated)
- Committer:
- Technical_Muffin
- Date:
- Fri Oct 23 09:35:33 2015 +0000
- Revision:
- 1:63a24af333a1
- Parent:
- 0:f0bfe11b60fb
replace wait code with an interrupin. Works much better and shows no error in registering the button press.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Technical_Muffin | 0:f0bfe11b60fb | 1 | #include "mbed.h" |
Technical_Muffin | 0:f0bfe11b60fb | 2 | #include "MODSERIAL.h" |
Technical_Muffin | 0:f0bfe11b60fb | 3 | |
Technical_Muffin | 0:f0bfe11b60fb | 4 | |
Technical_Muffin | 0:f0bfe11b60fb | 5 | DigitalOut led1(LED_RED); |
Technical_Muffin | 0:f0bfe11b60fb | 6 | DigitalOut led2(LED_BLUE); |
Technical_Muffin | 0:f0bfe11b60fb | 7 | MODSERIAL pc(USBTX,USBRX); |
Technical_Muffin | 0:f0bfe11b60fb | 8 | DigitalIn button1(PTC6); |
Technical_Muffin | 1:63a24af333a1 | 9 | InterruptIn buttonnew(PTC6); |
Technical_Muffin | 0:f0bfe11b60fb | 10 | |
Technical_Muffin | 1:63a24af333a1 | 11 | void changedir(){ |
Technical_Muffin | 1:63a24af333a1 | 12 | led1.write(!led1.read()); |
Technical_Muffin | 1:63a24af333a1 | 13 | led2.write(!led2.read()); |
Technical_Muffin | 1:63a24af333a1 | 14 | } |
Technical_Muffin | 1:63a24af333a1 | 15 | |
Technical_Muffin | 0:f0bfe11b60fb | 16 | int main() |
Technical_Muffin | 0:f0bfe11b60fb | 17 | { |
Technical_Muffin | 0:f0bfe11b60fb | 18 | led1.write(1); |
Technical_Muffin | 1:63a24af333a1 | 19 | led2.write(0); |
Technical_Muffin | 0:f0bfe11b60fb | 20 | pc.baud(115200); |
Technical_Muffin | 0:f0bfe11b60fb | 21 | |
Technical_Muffin | 1:63a24af333a1 | 22 | buttonnew.mode(PullDown); |
Technical_Muffin | 1:63a24af333a1 | 23 | |
Technical_Muffin | 0:f0bfe11b60fb | 24 | while(1){ |
Technical_Muffin | 0:f0bfe11b60fb | 25 | pc.printf("toggle on or off %d \n ", button1.read()); |
Technical_Muffin | 1:63a24af333a1 | 26 | buttonnew.fall(changedir); |
Technical_Muffin | 1:63a24af333a1 | 27 | /*int diffa = button1.read(); |
Technical_Muffin | 0:f0bfe11b60fb | 28 | wait(0.2); |
Technical_Muffin | 0:f0bfe11b60fb | 29 | int diffb = button1.read(); |
Technical_Muffin | 0:f0bfe11b60fb | 30 | int button_toggle = diffa-diffb; |
Technical_Muffin | 0:f0bfe11b60fb | 31 | if(button_toggle == 1 && led1.read() ==1){ |
Technical_Muffin | 0:f0bfe11b60fb | 32 | led1.write(0); |
Technical_Muffin | 0:f0bfe11b60fb | 33 | led2.write(1); |
Technical_Muffin | 0:f0bfe11b60fb | 34 | } |
Technical_Muffin | 1:63a24af333a1 | 35 | else if(button_toggle == 1 && led1.read() == 0){ |
Technical_Muffin | 0:f0bfe11b60fb | 36 | led1.write(1); |
Technical_Muffin | 0:f0bfe11b60fb | 37 | led2.write(0); |
Technical_Muffin | 1:63a24af333a1 | 38 | } */ |
Technical_Muffin | 1:63a24af333a1 | 39 | } |
Technical_Muffin | 0:f0bfe11b60fb | 40 | } |