base code for switching easily between directions, while keeping signal input low.

Dependencies:   MODSERIAL mbed

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?

UserRevisionLine numberNew 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 }