For LPC1114FN28
Dependencies: MCUGearALPC1114 TextLCD mbed
main.cpp
00001 00002 #include "mbed.h" 00003 #include "TextLCD.h" 00004 00005 #include "MCUGearBaseALPC1114.h" 00006 #include "MCUGearALPC1114.h" 00007 #include "commonALPC1114.h" 00008 00009 Serial pc(dp16, dp15); // tx, rx Set BaudRate = 115200 in main() 00010 00011 void setIOUni(MCUGear *mcugear); 00012 void setIOLCD(MCUGear *mcugear); 00013 00014 MCUGear UniM(dp5, dp27, N_VDD_VDD_VDD); //2 Connector Universal Module 00015 MCUGear LCDM(dp5, dp27, N_VDD_VSS_VSS); //LCD Module 00016 00017 //output pins = P0_3, P0_7, P0_11, P1_0, P1_1, P1_2, P1_4, P1_5 00018 DigitalOut Dout1(dp26); 00019 DigitalOut Dout2(dp28); 00020 DigitalOut Dout3(dp4); 00021 DigitalOut Dout4(dp9); 00022 DigitalOut Dout5(dp10); 00023 DigitalOut Dout6(dp11); 00024 DigitalOut Dout7(dp14); 00025 DigitalOut Dout8(dp15); 00026 00027 //inputpins = P1_8, P1_9 00028 DigitalIn Din1(dp17); 00029 DigitalIn Din2(dp18); 00030 00031 int main() { 00032 00033 int sw1 = 0; 00034 int sw2 = 0; 00035 pc.printf("Hello World!\r\n"); 00036 00037 wait(1); 00038 00039 initBase(); //initialize Baseboard 00040 00041 //set schematic select 0-7 00042 UniM.detectModule(); //save location data in MCUGear class. 00043 LCDM.detectModule(); //save location data in MCUGear class. 00044 00045 //startReg(0); //AutoMode can not use Bank 00046 setIOUni(&UniM);//make schematic Bank0 00047 setIOLCD(&LCDM);//make schematic Bank0 00048 //endReg(0); //AutoMode can not use Bank 00049 00050 //changeBank(0);//select Bank 00051 00052 00053 LCDM.connectModuleA(); 00054 TextLCD lcd(dp26, dp28, dp4, dp9, dp10, dp11, TextLCD::LCD16x2); // rs, e, d4-d7//set output pins from Dout1 to Dout6. 00055 lcd.cls(); 00056 lcd.printf("Hello World!\n"); 00057 wait(1); 00058 LCDM.disconnectModule(); 00059 00060 while(1) { 00061 00062 UniM.connectModuleA(); 00063 sw1 = Din1.read(); 00064 sw2 = Din2.read(); 00065 printf("sw1 = %d sw2 = %d\r\n",sw1,sw2); 00066 UniM.disconnectModule(); 00067 00068 LCDM.connectModuleA(); 00069 lcd.printf(" "); //set IO as a neutral position 00070 lcd.cls(); //clear LCD 00071 lcd.printf("sw1 = %d\nsw2 = %d",sw1,sw2); //write LCD data 00072 wait_ms(10); //delay for view the LCD 00073 LCDM.disconnectModule(); 00074 00075 UniM.connectModuleA(); 00076 Dout1 = 0; 00077 Dout2 = 1; 00078 Dout3 = 1; 00079 wait(0.3); 00080 00081 Dout1 = 1; 00082 Dout2 = 0; 00083 Dout3 = 1; 00084 wait(0.3); 00085 00086 Dout1 = 1; 00087 Dout2 = 1; 00088 Dout3 = 0; 00089 wait(0.3); 00090 UniM.disconnectModule(); 00091 00092 } 00093 } 00094 00095 00096 void setIOUni(MCUGear *mcugear){ 00097 mcugear->setWireA(IOin1, IO_REG_IN_DIR, 0); 00098 mcugear->setWireA(IOin2, IO_REG_IN_DIR, 1); 00099 mcugear->setWireA(IOout1, IO_REG_OUT_DIR,2); 00100 mcugear->setWireA(IOout2, IO_REG_OUT_DIR,3); 00101 mcugear->setWireA(IOout3, IO_REG_OUT_DIR,4); 00102 } 00103 00104 void setIOLCD(MCUGear *mcugear){ 00105 mcugear->setWireA(IOout1, IO_REG_OUT_DIR,0); 00106 mcugear->setWireA(IOout2, IO_REG_OUT_DIR,1); 00107 mcugear->setWireA(IOout3, IO_REG_OUT_DIR,2); 00108 mcugear->setWireA(IOout4, IO_REG_OUT_DIR,3); 00109 mcugear->setWireA(IOout5, IO_REG_OUT_DIR,4); 00110 mcugear->setWireA(IOout6, IO_REG_OUT_DIR,5); 00111 } 00112
Generated on Sun Jul 17 2022 17:51:01 by 1.7.2