a
Dependencies: mbed
main.cpp@0:6fac2f739171, 2015-12-05 (annotated)
- Committer:
- lolopo008
- Date:
- Sat Dec 05 06:36:43 2015 +0000
- Revision:
- 0:6fac2f739171
a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lolopo008 | 0:6fac2f739171 | 1 | #include "mbed.h" |
lolopo008 | 0:6fac2f739171 | 2 | |
lolopo008 | 0:6fac2f739171 | 3 | SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK); |
lolopo008 | 0:6fac2f739171 | 4 | DigitalOut Latch(D10); |
lolopo008 | 0:6fac2f739171 | 5 | AnalogIn VR0(A0); |
lolopo008 | 0:6fac2f739171 | 6 | AnalogIn VR1(A1); |
lolopo008 | 0:6fac2f739171 | 7 | Serial pc(USBTX, USBRX); |
lolopo008 | 0:6fac2f739171 | 8 | |
lolopo008 | 0:6fac2f739171 | 9 | float VR_value0,VR_value1; |
lolopo008 | 0:6fac2f739171 | 10 | int Row[8]= {1,2,4,8,16,32,64,128}; |
lolopo008 | 0:6fac2f739171 | 11 | int Col[8]= {254,253,251,247,239,223,191,127}; |
lolopo008 | 0:6fac2f739171 | 12 | int x; |
lolopo008 | 0:6fac2f739171 | 13 | |
lolopo008 | 0:6fac2f739171 | 14 | void Player1() |
lolopo008 | 0:6fac2f739171 | 15 | { |
lolopo008 | 0:6fac2f739171 | 16 | VR_value0 = VR0.read(); |
lolopo008 | 0:6fac2f739171 | 17 | VR_value0 = VR_value0*6; |
lolopo008 | 0:6fac2f739171 | 18 | |
lolopo008 | 0:6fac2f739171 | 19 | Latch=0; |
lolopo008 | 0:6fac2f739171 | 20 | if(VR_value0<=1) { |
lolopo008 | 0:6fac2f739171 | 21 | //D1 |
lolopo008 | 0:6fac2f739171 | 22 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 23 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 24 | DataPack.write(0x1F); |
lolopo008 | 0:6fac2f739171 | 25 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 26 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 27 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 28 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 29 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 30 | } else if(VR_value0>1&&VR_value0<=2) { |
lolopo008 | 0:6fac2f739171 | 31 | //D2 |
lolopo008 | 0:6fac2f739171 | 32 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 33 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 34 | DataPack.write(0x8F); |
lolopo008 | 0:6fac2f739171 | 35 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 36 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 37 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 38 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 39 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 40 | } else if(VR_value0>2&&VR_value0<=3) { |
lolopo008 | 0:6fac2f739171 | 41 | //D3 |
lolopo008 | 0:6fac2f739171 | 42 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 43 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 44 | DataPack.write(0xC7); |
lolopo008 | 0:6fac2f739171 | 45 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 46 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 47 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 48 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 49 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 50 | } else if(VR_value0>3&&VR_value0<=4) { |
lolopo008 | 0:6fac2f739171 | 51 | //D4 |
lolopo008 | 0:6fac2f739171 | 52 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 53 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 54 | DataPack.write(0xE3); |
lolopo008 | 0:6fac2f739171 | 55 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 56 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 57 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 58 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 59 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 60 | } else if(VR_value0>4&&VR_value0<=5) { |
lolopo008 | 0:6fac2f739171 | 61 | //D5 |
lolopo008 | 0:6fac2f739171 | 62 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 63 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 64 | DataPack.write(0xF1); |
lolopo008 | 0:6fac2f739171 | 65 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 66 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 67 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 68 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 69 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 70 | } else if(VR_value0>5&&VR_value0<=6) { |
lolopo008 | 0:6fac2f739171 | 71 | //D6 |
lolopo008 | 0:6fac2f739171 | 72 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 73 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 74 | DataPack.write(0xF8); |
lolopo008 | 0:6fac2f739171 | 75 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 76 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 77 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 78 | DataPack.write(0x01); |
lolopo008 | 0:6fac2f739171 | 79 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 80 | } |
lolopo008 | 0:6fac2f739171 | 81 | Latch=1; |
lolopo008 | 0:6fac2f739171 | 82 | } |
lolopo008 | 0:6fac2f739171 | 83 | |
lolopo008 | 0:6fac2f739171 | 84 | void Player2() |
lolopo008 | 0:6fac2f739171 | 85 | { |
lolopo008 | 0:6fac2f739171 | 86 | VR_value1 = VR1.read(); |
lolopo008 | 0:6fac2f739171 | 87 | VR_value1 = VR_value1*6; |
lolopo008 | 0:6fac2f739171 | 88 | |
lolopo008 | 0:6fac2f739171 | 89 | Latch=0; |
lolopo008 | 0:6fac2f739171 | 90 | if(VR_value1<=1) { |
lolopo008 | 0:6fac2f739171 | 91 | //U1 |
lolopo008 | 0:6fac2f739171 | 92 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 93 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 94 | DataPack.write(0x1F); |
lolopo008 | 0:6fac2f739171 | 95 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 96 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 97 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 98 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 99 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 100 | } else if(VR_value1>1&&VR_value1<=2) { |
lolopo008 | 0:6fac2f739171 | 101 | //U2 |
lolopo008 | 0:6fac2f739171 | 102 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 103 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 104 | DataPack.write(0x8F); |
lolopo008 | 0:6fac2f739171 | 105 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 106 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 107 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 108 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 109 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 110 | } else if(VR_value0>2&&VR_value0<=3) { |
lolopo008 | 0:6fac2f739171 | 111 | //U3 |
lolopo008 | 0:6fac2f739171 | 112 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 113 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 114 | DataPack.write(0xC7); |
lolopo008 | 0:6fac2f739171 | 115 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 116 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 117 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 118 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 119 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 120 | } else if(VR_value1>3&&VR_value1<=4) { |
lolopo008 | 0:6fac2f739171 | 121 | //U4 |
lolopo008 | 0:6fac2f739171 | 122 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 123 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 124 | DataPack.write(0xE3); |
lolopo008 | 0:6fac2f739171 | 125 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 126 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 127 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 128 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 129 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 130 | } else if(VR_value1>4&&VR_value1<=5) { |
lolopo008 | 0:6fac2f739171 | 131 | //U5 |
lolopo008 | 0:6fac2f739171 | 132 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 133 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 134 | DataPack.write(0xF1); |
lolopo008 | 0:6fac2f739171 | 135 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 136 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 137 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 138 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 139 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 140 | } else if(VR_value1>5&&VR_value1<=6) { |
lolopo008 | 0:6fac2f739171 | 141 | //U6 |
lolopo008 | 0:6fac2f739171 | 142 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 143 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 144 | DataPack.write(0xF8); |
lolopo008 | 0:6fac2f739171 | 145 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 146 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 147 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 148 | DataPack.write(0x80); |
lolopo008 | 0:6fac2f739171 | 149 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 150 | } |
lolopo008 | 0:6fac2f739171 | 151 | Latch=1; |
lolopo008 | 0:6fac2f739171 | 152 | } |
lolopo008 | 0:6fac2f739171 | 153 | |
lolopo008 | 0:6fac2f739171 | 154 | int main() |
lolopo008 | 0:6fac2f739171 | 155 | { |
lolopo008 | 0:6fac2f739171 | 156 | DataPack.frequency(100000); |
lolopo008 | 0:6fac2f739171 | 157 | DataPack.format(8,0); |
lolopo008 | 0:6fac2f739171 | 158 | |
lolopo008 | 0:6fac2f739171 | 159 | while(1) { |
lolopo008 | 0:6fac2f739171 | 160 | Player1(); |
lolopo008 | 0:6fac2f739171 | 161 | Player2(); |
lolopo008 | 0:6fac2f739171 | 162 | |
lolopo008 | 0:6fac2f739171 | 163 | Latch=0; |
lolopo008 | 0:6fac2f739171 | 164 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 165 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 166 | DataPack.write(0xF8); |
lolopo008 | 0:6fac2f739171 | 167 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 168 | DataPack.write(0xF8); |
lolopo008 | 0:6fac2f739171 | 169 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 170 | DataPack.write(0x2A); |
lolopo008 | 0:6fac2f739171 | 171 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 172 | Latch=1; |
lolopo008 | 0:6fac2f739171 | 173 | |
lolopo008 | 0:6fac2f739171 | 174 | Latch=0; |
lolopo008 | 0:6fac2f739171 | 175 | DataPack.write(0xFF); |
lolopo008 | 0:6fac2f739171 | 176 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 177 | DataPack.write(0xFE); |
lolopo008 | 0:6fac2f739171 | 178 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 179 | DataPack.write(0xFE); |
lolopo008 | 0:6fac2f739171 | 180 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 181 | DataPack.write(0x14); |
lolopo008 | 0:6fac2f739171 | 182 | wait_us(1); |
lolopo008 | 0:6fac2f739171 | 183 | Latch=1; |
lolopo008 | 0:6fac2f739171 | 184 | } |
lolopo008 | 0:6fac2f739171 | 185 | } |