Test program for MCP23S17
Dependencies: ExioController MCP23S17 mbed-rtos mbed
Diff: main.cpp
- Revision:
- 11:a057a7a47f6e
- Parent:
- 10:72220f282a8d
- Child:
- 12:5f0db7a87485
--- a/main.cpp Wed Nov 02 11:01:22 2016 +0000 +++ b/main.cpp Fri Nov 04 13:11:24 2016 +0000 @@ -2,6 +2,7 @@ #include "rtos.h" #include "ExioMcp23s17PinDetect.h" +//#include "ExioMcp23s17DebounceIn.h" #include "ExioMcp23s17RotaryEncoder.h" #include "ExioMcp23s17Keypad4x4.h" @@ -26,15 +27,20 @@ int main() { - //ExioMcp23s17Keypad4x4Test(); - printf("\r\n\n*** ExioMcp23s17Controller test ***\r\n"); Exio.reset(); // set PORTA[6:7] as inputs - ExioMcp23s17PinDetect PinA6(Exio, ExioPortA, 6); - ExioMcp23s17PinDetect PinA7(Exio, ExioPortA, 7); + /* + ExioMcp23s17DebounceIn in1(&Exio, ExioPortA, 6); + ExioMcp23s17DebounceIn in2(&Exio, ExioPortA, 7); + in1.mode(PullUp); + in2.mode(PullUp); + */ + + ExioMcp23s17PinDetect PinA6(&Exio, ExioPortA, 6); + ExioMcp23s17PinDetect PinA7(&Exio, ExioPortA, 7); // assign callback functions PinA6.attach_asserted(&pa6Falled); @@ -50,18 +56,23 @@ // ExioMcp23s17& device, ExioPort port, int pin1, int pin2, // int min = 0, int max = 100, int val = 50 //); - ExioMcp23s17RotaryEncoder RotEnc1(Exio, ExioPortA, 0, 1, 0, 100, 50); + ExioMcp23s17RotaryEncoder RotEnc1(&Exio, ExioPortA, 0, 1, 0, 100, 50); RotEnc1.setInterval(500); - ExioMcp23s17RotaryEncoder RotEnc2(Exio, ExioPortA, 2, 3, 0, 100, 50); + ExioMcp23s17RotaryEncoder RotEnc2(&Exio, ExioPortA, 2, 3, 0, 100, 50); RotEnc2.setInterval(500); - + // set PORTB as Keypad 4x4 - //ExioMcp23s17Keypad4x4 keypad(Exio, ExioPortB); + //ExioMcp23s17Keypad4x4 Keypad(&Exio, ExioPortB); while (true) { - int reVal1 = RotEnc1.getVal(); - int reVal2 = RotEnc2.getVal(); - printf("state:%d count:%d RE1:%d RE2:%d \r\n", state, count, reVal1, reVal2); - //Thread::wait(10); + int reVal1, reVal2, kpVal; + //state = in1.read(); + //count = in2.read(); + reVal1 = RotEnc1.getVal(); + reVal2 = RotEnc2.getVal(); + //kpVal = Keypad.keyScan1(); + printf("state:%d count:%d RE1:%d RE2:%d KP:%d\r\n", state, count, reVal1, reVal2, kpVal); + + Thread::wait(10); } }