For LPC1114FN28
Dependencies: MCUGearALPC1114 TextLCD mbed
Diff: main.cpp
- Revision:
- 0:b107e3217731
- Child:
- 1:fbea002af117
diff -r 000000000000 -r b107e3217731 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat May 03 16:59:33 2014 +0000 @@ -0,0 +1,112 @@ + +#include "mbed.h" +#include "TextLCD.h" + +#include "MCUGearBaseA.h" +#include "MCUGearA.h" +#include "commonA.h" + +Serial pc(dp16, dp15); // tx, rx Set BaudRate = 115200 in main() + +void setIOUni(MCUGear *mcugear); +void setIOLCD(MCUGear *mcugear); + +MCUGear UniM(dp5, dp27, N_VDD_VDD_VDD); //2 Connector Universal Module +MCUGear LCDM(dp5, dp27, N_VDD_VSS_VSS); //LCD Module + +//output pins = P0_3, P0_7, P0_11, P1_0, P1_1, P1_2, P1_4, P1_5 +DigitalOut Dout1(dp26); +DigitalOut Dout2(dp28); +DigitalOut Dout3(dp4); +DigitalOut Dout4(dp9); +DigitalOut Dout5(dp10); +DigitalOut Dout6(dp11); +DigitalOut Dout7(dp14); +DigitalOut Dout8(dp15); + +//inputpins = P1_8, P1_9 +DigitalIn Din1(dp17); +DigitalIn Din2(dp18); + +int main() { + + int sw1 = 0; + int sw2 = 0; + pc.printf("Hello World!\r\n"); + + wait(1); + + initBase(); //initialize Baseboard + + //set schematic select 0-7 + UniM.detectModule(); //save location data in MCUGear class. + LCDM.detectModule(); //save location data in MCUGear class. + + //startReg(0); //AutoMode can not use Bank + setIOUni(&UniM);//make schematic Bank0 + setIOLCD(&LCDM);//make schematic Bank0 + //endReg(0); //AutoMode can not use Bank + + //changeBank(0);//select Bank + + + LCDM.connectModuleA(); + TextLCD lcd(dp26, dp28, dp4, dp9, dp10, dp11, TextLCD::LCD16x2); // rs, e, d4-d7//set output pins from Dout1 to Dout6. + lcd.cls(); + lcd.printf("Hello World!\n"); + wait(1); + LCDM.disconnectModule(); + + while(1) { + + UniM.connectModuleA(); + sw1 = Din1.read(); + sw2 = Din2.read(); + printf("sw1 = %d sw2 = %d\r\n",sw1,sw2); + UniM.disconnectModule(); + + LCDM.connectModuleA(); + lcd.printf(" "); //set IO as a neutral position + lcd.cls(); //clear LCD + lcd.printf("sw1 = %d\nsw2 = %d",sw1,sw2); //write LCD data + wait_ms(10); //delay for view the LCD + LCDM.disconnectModule(); + + UniM.connectModuleA(); + Dout1 = 0; + Dout2 = 1; + Dout3 = 1; + wait(0.3); + + Dout1 = 1; + Dout2 = 0; + Dout3 = 1; + wait(0.3); + + Dout1 = 1; + Dout2 = 1; + Dout3 = 0; + wait(0.3); + UniM.disconnectModule(); + + } +} + + +void setIOUni(MCUGear *mcugear){ + mcugear->setWireA(IOin1, IO_REG_IN_DIR, 0); + mcugear->setWireA(IOin2, IO_REG_IN_DIR, 1); + mcugear->setWireA(IOout1, IO_REG_OUT_DIR,2); + mcugear->setWireA(IOout2, IO_REG_OUT_DIR,3); + mcugear->setWireA(IOout3, IO_REG_OUT_DIR,4); +} + +void setIOLCD(MCUGear *mcugear){ + mcugear->setWireA(IOout1, IO_REG_OUT_DIR,0); + mcugear->setWireA(IOout2, IO_REG_OUT_DIR,1); + mcugear->setWireA(IOout3, IO_REG_OUT_DIR,2); + mcugear->setWireA(IOout4, IO_REG_OUT_DIR,3); + mcugear->setWireA(IOout5, IO_REG_OUT_DIR,4); + mcugear->setWireA(IOout6, IO_REG_OUT_DIR,5); +} +