For LPC1114FN28
Dependencies: MCUGearALPC1114 TextLCD mbed
main.cpp
- Committer:
- Info
- Date:
- 2014-05-03
- Revision:
- 1:fbea002af117
- Parent:
- 0:b107e3217731
File content as of revision 1:fbea002af117:
#include "mbed.h" #include "TextLCD.h" #include "MCUGearBaseALPC1114.h" #include "MCUGearALPC1114.h" #include "commonALPC1114.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); }