mille feuille
/
MCUGear_Ver2
wiring system with many bus swiches
main.cpp@0:1fcf56bbda88, 2014-03-05 (annotated)
- Committer:
- Info
- Date:
- Wed Mar 05 05:00:34 2014 +0000
- Revision:
- 0:1fcf56bbda88
MCU Gear Hello world
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Info | 0:1fcf56bbda88 | 1 | #include "mbed.h" |
Info | 0:1fcf56bbda88 | 2 | |
Info | 0:1fcf56bbda88 | 3 | #include "MCUGearBaseM.h" |
Info | 0:1fcf56bbda88 | 4 | #include "MCUGearM.h" |
Info | 0:1fcf56bbda88 | 5 | #include "commonM.h" |
Info | 0:1fcf56bbda88 | 6 | |
Info | 0:1fcf56bbda88 | 7 | Serial pc(USBTX, USBRX); // tx, rx Set BaudRate = 115200 in main() |
Info | 0:1fcf56bbda88 | 8 | |
Info | 0:1fcf56bbda88 | 9 | |
Info | 0:1fcf56bbda88 | 10 | void setIOBank0(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 11 | void setIOBank1(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 12 | void setIOBank2(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 13 | void setIOBank3(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 14 | void setIOBank4(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 15 | void setIOBank5(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 16 | void setIOBank6(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 17 | void setIOBank7(MCUGear *mcugear); |
Info | 0:1fcf56bbda88 | 18 | |
Info | 0:1fcf56bbda88 | 19 | DigitalOut myled(LED1); |
Info | 0:1fcf56bbda88 | 20 | |
Info | 0:1fcf56bbda88 | 21 | MCUGear UniM(p28, p27, N_VDD_VDD_VDD); //2 Connector Universal Module |
Info | 0:1fcf56bbda88 | 22 | |
Info | 0:1fcf56bbda88 | 23 | DigitalOut Dout1(p16); |
Info | 0:1fcf56bbda88 | 24 | DigitalOut Dout2(p21); |
Info | 0:1fcf56bbda88 | 25 | DigitalOut Dout3(p22); |
Info | 0:1fcf56bbda88 | 26 | DigitalOut Dout4(p23); |
Info | 0:1fcf56bbda88 | 27 | DigitalOut Dout5(p24); |
Info | 0:1fcf56bbda88 | 28 | |
Info | 0:1fcf56bbda88 | 29 | DigitalIn Din1(p9); |
Info | 0:1fcf56bbda88 | 30 | DigitalIn Din2(p10); |
Info | 0:1fcf56bbda88 | 31 | |
Info | 0:1fcf56bbda88 | 32 | int main() { |
Info | 0:1fcf56bbda88 | 33 | |
Info | 0:1fcf56bbda88 | 34 | int sw1 = 0; |
Info | 0:1fcf56bbda88 | 35 | int sw2 = 0; |
Info | 0:1fcf56bbda88 | 36 | int nowBank = 0; |
Info | 0:1fcf56bbda88 | 37 | |
Info | 0:1fcf56bbda88 | 38 | initBase(); //initialize Baseboard |
Info | 0:1fcf56bbda88 | 39 | |
Info | 0:1fcf56bbda88 | 40 | //set schematic select 0-7 |
Info | 0:1fcf56bbda88 | 41 | int location = UniM.detectModule(); //save location data in MCUGear class and you can check return data.Baseboard has 0-47 pin. |
Info | 0:1fcf56bbda88 | 42 | printf("location = %d\n", &location); |
Info | 0:1fcf56bbda88 | 43 | |
Info | 0:1fcf56bbda88 | 44 | startReg(0); |
Info | 0:1fcf56bbda88 | 45 | setIOBank0(&UniM);//make schematic Bank0 |
Info | 0:1fcf56bbda88 | 46 | endReg(0); |
Info | 0:1fcf56bbda88 | 47 | |
Info | 0:1fcf56bbda88 | 48 | |
Info | 0:1fcf56bbda88 | 49 | startReg(1); |
Info | 0:1fcf56bbda88 | 50 | setIOBank1(&UniM);//make schematic Bank1 |
Info | 0:1fcf56bbda88 | 51 | endReg(1); |
Info | 0:1fcf56bbda88 | 52 | |
Info | 0:1fcf56bbda88 | 53 | startReg(2); |
Info | 0:1fcf56bbda88 | 54 | setIOBank2(&UniM);//make schematic Bank2 |
Info | 0:1fcf56bbda88 | 55 | endReg(2); |
Info | 0:1fcf56bbda88 | 56 | |
Info | 0:1fcf56bbda88 | 57 | startReg(3); |
Info | 0:1fcf56bbda88 | 58 | setIOBank3(&UniM);//make schematic Bank3 |
Info | 0:1fcf56bbda88 | 59 | endReg(3); |
Info | 0:1fcf56bbda88 | 60 | |
Info | 0:1fcf56bbda88 | 61 | startReg(4); |
Info | 0:1fcf56bbda88 | 62 | setIOBank4(&UniM);//make schematic Bank4 |
Info | 0:1fcf56bbda88 | 63 | endReg(4); |
Info | 0:1fcf56bbda88 | 64 | |
Info | 0:1fcf56bbda88 | 65 | startReg(5); |
Info | 0:1fcf56bbda88 | 66 | setIOBank5(&UniM);//make schematic Bank5 |
Info | 0:1fcf56bbda88 | 67 | endReg(5); |
Info | 0:1fcf56bbda88 | 68 | |
Info | 0:1fcf56bbda88 | 69 | startReg(6); |
Info | 0:1fcf56bbda88 | 70 | setIOBank6(&UniM);//make schematic Bank6 |
Info | 0:1fcf56bbda88 | 71 | endReg(6); |
Info | 0:1fcf56bbda88 | 72 | |
Info | 0:1fcf56bbda88 | 73 | startReg(7); |
Info | 0:1fcf56bbda88 | 74 | setIOBank7(&UniM);//make schematic Bank7 |
Info | 0:1fcf56bbda88 | 75 | endReg(7); |
Info | 0:1fcf56bbda88 | 76 | |
Info | 0:1fcf56bbda88 | 77 | changeBank(0);//select Bank |
Info | 0:1fcf56bbda88 | 78 | |
Info | 0:1fcf56bbda88 | 79 | while(1) { |
Info | 0:1fcf56bbda88 | 80 | |
Info | 0:1fcf56bbda88 | 81 | UniM.connectModule(); |
Info | 0:1fcf56bbda88 | 82 | sw1 = Din1.read(); |
Info | 0:1fcf56bbda88 | 83 | sw2 = Din2.read(); |
Info | 0:1fcf56bbda88 | 84 | printf("sw1 = %d sw2 = %d\r\n",sw1,sw2); |
Info | 0:1fcf56bbda88 | 85 | |
Info | 0:1fcf56bbda88 | 86 | Dout1 = 0; |
Info | 0:1fcf56bbda88 | 87 | Dout2 = 1; |
Info | 0:1fcf56bbda88 | 88 | Dout3 = 1; |
Info | 0:1fcf56bbda88 | 89 | wait(0.3); |
Info | 0:1fcf56bbda88 | 90 | |
Info | 0:1fcf56bbda88 | 91 | Dout1 = 1; |
Info | 0:1fcf56bbda88 | 92 | Dout2 = 0; |
Info | 0:1fcf56bbda88 | 93 | Dout3 = 1; |
Info | 0:1fcf56bbda88 | 94 | wait(0.3); |
Info | 0:1fcf56bbda88 | 95 | |
Info | 0:1fcf56bbda88 | 96 | Dout1 = 1; |
Info | 0:1fcf56bbda88 | 97 | Dout2 = 1; |
Info | 0:1fcf56bbda88 | 98 | Dout3 = 0; |
Info | 0:1fcf56bbda88 | 99 | wait(0.3); |
Info | 0:1fcf56bbda88 | 100 | |
Info | 0:1fcf56bbda88 | 101 | UniM.disconnectModule(); |
Info | 0:1fcf56bbda88 | 102 | |
Info | 0:1fcf56bbda88 | 103 | if(sw1==0){//chage Bank |
Info | 0:1fcf56bbda88 | 104 | ++nowBank; |
Info | 0:1fcf56bbda88 | 105 | if(nowBank >= 8){ |
Info | 0:1fcf56bbda88 | 106 | nowBank = 0; |
Info | 0:1fcf56bbda88 | 107 | } |
Info | 0:1fcf56bbda88 | 108 | changeBank(nowBank); |
Info | 0:1fcf56bbda88 | 109 | printf("nowBank = %d\r\n",nowBank); |
Info | 0:1fcf56bbda88 | 110 | } |
Info | 0:1fcf56bbda88 | 111 | |
Info | 0:1fcf56bbda88 | 112 | |
Info | 0:1fcf56bbda88 | 113 | } |
Info | 0:1fcf56bbda88 | 114 | } |
Info | 0:1fcf56bbda88 | 115 | |
Info | 0:1fcf56bbda88 | 116 | |
Info | 0:1fcf56bbda88 | 117 | void setIOBank0(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 118 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 119 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 120 | } |
Info | 0:1fcf56bbda88 | 121 | |
Info | 0:1fcf56bbda88 | 122 | void setIOBank1(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 123 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 124 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 125 | } |
Info | 0:1fcf56bbda88 | 126 | |
Info | 0:1fcf56bbda88 | 127 | void setIOBank2(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 128 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 129 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 130 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 131 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 132 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 133 | } |
Info | 0:1fcf56bbda88 | 134 | |
Info | 0:1fcf56bbda88 | 135 | void setIOBank3(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 136 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 137 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 138 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 139 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 140 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 141 | } |
Info | 0:1fcf56bbda88 | 142 | |
Info | 0:1fcf56bbda88 | 143 | void setIOBank4(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 144 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 145 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 146 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 147 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 148 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 149 | } |
Info | 0:1fcf56bbda88 | 150 | |
Info | 0:1fcf56bbda88 | 151 | |
Info | 0:1fcf56bbda88 | 152 | void setIOBank5(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 153 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 154 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 155 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 156 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 157 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 158 | } |
Info | 0:1fcf56bbda88 | 159 | |
Info | 0:1fcf56bbda88 | 160 | void setIOBank6(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 161 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 162 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 163 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 164 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 165 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 166 | } |
Info | 0:1fcf56bbda88 | 167 | |
Info | 0:1fcf56bbda88 | 168 | void setIOBank7(MCUGear *mcugear){ |
Info | 0:1fcf56bbda88 | 169 | mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0); |
Info | 0:1fcf56bbda88 | 170 | mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1); |
Info | 0:1fcf56bbda88 | 171 | mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2); |
Info | 0:1fcf56bbda88 | 172 | mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3); |
Info | 0:1fcf56bbda88 | 173 | mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4); |
Info | 0:1fcf56bbda88 | 174 | } |