Gottfried Enenkel
/
_B16_SHOW1
Show 1
main.cpp@3:00e484173b1f, 2016-05-30 (annotated)
- Committer:
- Enenkel
- Date:
- Mon May 30 10:56:34 2016 +0000
- Revision:
- 3:00e484173b1f
- Parent:
- 2:f799412fe395
SHOW1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Enenkel | 3:00e484173b1f | 1 | // B16_TEST V0.9 Alles |
Enenkel | 3:00e484173b1f | 2 | // SHOW SOFTWARE für B16 |
Enenkel | 3:00e484173b1f | 3 | // BULME Graz, by Enenkel 26.5.2016 |
Enenkel | 3:00e484173b1f | 4 | /* |
Enenkel | 3:00e484173b1f | 5 | */ |
Enenkel | 1:d6e5f9c188d3 | 6 | |
Enenkel | 0:7bf2f1754883 | 7 | #include "mbed.h" |
Enenkel | 1:d6e5f9c188d3 | 8 | // ******** Definitionen ********** |
Enenkel | 3:00e484173b1f | 9 | DigitalOut Von(P2_13); // 12V on |
Enenkel | 3:00e484173b1f | 10 | // Definition der 12 LED's |
Enenkel | 3:00e484173b1f | 11 | DigitalOut WSLI(P1_10); //wsS links D1 |
Enenkel | 3:00e484173b1f | 12 | DigitalOut WSRE(P1_12); //wsS rechts D4 |
Enenkel | 3:00e484173b1f | 13 | DigitalOut GELIVO (P1_11); //ge links vorn D2 |
Enenkel | 3:00e484173b1f | 14 | DigitalOut GEREVO (P1_13); //ge rechts vorn D5 |
Enenkel | 3:00e484173b1f | 15 | DigitalOut GELIHI(P1_14); //ge links hinten D6 |
Enenkel | 3:00e484173b1f | 16 | DigitalOut RTLIHI(P1_15); // rt links hinbten D7 |
Enenkel | 3:00e484173b1f | 17 | DigitalOut GEREHI(P1_16); //ge rechts hinten D8 |
Enenkel | 3:00e484173b1f | 18 | DigitalOut RTREHI(P1_17); //rt rechts hinten D9 |
Enenkel | 0:7bf2f1754883 | 19 | |
Enenkel | 3:00e484173b1f | 20 | DigitalOut ledD10(P1_18); |
Enenkel | 3:00e484173b1f | 21 | DigitalOut ledD11(P2_16); |
Enenkel | 3:00e484173b1f | 22 | DigitalOut ledD12(P1_20); |
Enenkel | 3:00e484173b1f | 23 | DigitalOut ledD13(P1_21); |
Enenkel | 3:00e484173b1f | 24 | // LDR |
Enenkel | 3:00e484173b1f | 25 | AnalogIn LDR(P0_14); |
Enenkel | 3:00e484173b1f | 26 | // RGB LED |
Enenkel | 3:00e484173b1f | 27 | DigitalOut RGB(P1_22); |
Enenkel | 3:00e484173b1f | 28 | // Motor Steuerung Schaltung Pg 2 |
Enenkel | 3:00e484173b1f | 29 | DigitalOut MG1_EN(P2_16);// NUR DIGITAL ohne PWM ! ! ! |
Enenkel | 3:00e484173b1f | 30 | DigitalOut MG1_F(P2_15); |
Enenkel | 3:00e484173b1f | 31 | DigitalOut MG1_R(P2_14); |
Enenkel | 3:00e484173b1f | 32 | DigitalOut MG2_EN(P2_19); |
Enenkel | 3:00e484173b1f | 33 | DigitalOut MG2_F(P2_20); |
Enenkel | 3:00e484173b1f | 34 | DigitalOut MG2_R(P2_21); |
Enenkel | 3:00e484173b1f | 35 | //ULTRASCHALL ABSTANDSMESSER |
Enenkel | 3:00e484173b1f | 36 | DigitalOut TRIG(P2_22); |
Enenkel | 3:00e484173b1f | 37 | DigitalIn ECHO(P2_23); |
Enenkel | 3:00e484173b1f | 38 | // Definition der Taster **************** Schaltplan Pg5 |
Enenkel | 3:00e484173b1f | 39 | DigitalIn TA1(P1_23); //TA1 |
Enenkel | 3:00e484173b1f | 40 | DigitalIn TA2(P1_24); // |
Enenkel | 3:00e484173b1f | 41 | DigitalIn TA3(P1_25); // |
Enenkel | 3:00e484173b1f | 42 | DigitalIn TA4(P1_26); // |
Enenkel | 3:00e484173b1f | 43 | DigitalIn TA5(P1_27); // |
Enenkel | 3:00e484173b1f | 44 | DigitalIn TA6(P1_28); // |
Enenkel | 3:00e484173b1f | 45 | DigitalIn TA7(P1_30); // |
Enenkel | 3:00e484173b1f | 46 | DigitalIn TA8(P1_31); // |
Enenkel | 3:00e484173b1f | 47 | // INCREMENTGEBER *********************** Schaltplan Pg 6 |
Enenkel | 3:00e484173b1f | 48 | DigitalOut EN_INCR (P2_2); //Incrementgeber Enable |
Enenkel | 3:00e484173b1f | 49 | DigitalIn INCR_L1 (P2_6); |
Enenkel | 3:00e484173b1f | 50 | DigitalIn INCR_L2 (P2_7); |
Enenkel | 3:00e484173b1f | 51 | DigitalIn INCR_R1 (P2_8); |
Enenkel | 3:00e484173b1f | 52 | DigitalIn INCR_R2 (P2_9); |
Enenkel | 3:00e484173b1f | 53 | // LINE SENSOR *************************** Schaltplan Pg 7 |
Enenkel | 3:00e484173b1f | 54 | DigitalOut EN_Line (P2_5); //Enable LINE Sensor |
Enenkel | 3:00e484173b1f | 55 | DigitalIn ISO1 (P1_9); // Statt ANALOG hier DIGITAL |
Enenkel | 3:00e484173b1f | 56 | DigitalIn ISO2 (P0_23); // nur für einfachen TEST! |
Enenkel | 3:00e484173b1f | 57 | DigitalIn ISO3 (P0_16); |
Enenkel | 3:00e484173b1f | 58 | DigitalIn ISO4 (P0_15); |
Enenkel | 3:00e484173b1f | 59 | DigitalIn ISO5 (P1_3); |
Enenkel | 3:00e484173b1f | 60 | // Blue LED ****************************** Schaltplan Pg 8 |
Enenkel | 3:00e484173b1f | 61 | DigitalOut LedBl (P1_5); |
Enenkel | 3:00e484173b1f | 62 | |
Enenkel | 3:00e484173b1f | 63 | // WLAN fehlt |
Enenkel | 3:00e484173b1f | 64 | // RS232 via FT232Modul fehlt |
Enenkel | 3:00e484173b1f | 65 | |
Enenkel | 3:00e484173b1f | 66 | //******************************************************** |
Enenkel | 3:00e484173b1f | 67 | // Konstante |
Enenkel | 3:00e484173b1f | 68 | int t; //time const |
Enenkel | 3:00e484173b1f | 69 | int t2; |
Enenkel | 3:00e484173b1f | 70 | int b; //LedTest |
Enenkel | 3:00e484173b1f | 71 | int a; //LedTest |
Enenkel | 3:00e484173b1f | 72 | int j; |
Enenkel | 1:d6e5f9c188d3 | 73 | |
Enenkel | 3:00e484173b1f | 74 | void LedTest(); // Testet alle LED des B16 ********** |
Enenkel | 3:00e484173b1f | 75 | void vor(); |
Enenkel | 3:00e484173b1f | 76 | void ret(); // Rechts Turn 90^ |
Enenkel | 3:00e484173b1f | 77 | void retu(); |
Enenkel | 3:00e484173b1f | 78 | void litu(); |
Enenkel | 3:00e484173b1f | 79 | void lituf(); |
Enenkel | 3:00e484173b1f | 80 | void retuf(); |
Enenkel | 3:00e484173b1f | 81 | void TasterTest(); |
Enenkel | 3:00e484173b1f | 82 | void LDRTest(); // Test für den LDR |
Enenkel | 1:d6e5f9c188d3 | 83 | |
Enenkel | 3:00e484173b1f | 84 | void RGBTest(); // RGB Test ruft writeled und writebit |
Enenkel | 3:00e484173b1f | 85 | void writeled(uint32_t leddata); // schreibt 3 Byte aufs LED |
Enenkel | 3:00e484173b1f | 86 | void writeledbit(char wert); // schreibet 1 BIT aufs LED |
Enenkel | 3:00e484173b1f | 87 | //ab hier 12V und 6V Tests |
Enenkel | 3:00e484173b1f | 88 | void BlueTest(); // BLUE LEDS |
Enenkel | 3:00e484173b1f | 89 | void MotorTest(); // Motor Test |
Enenkel | 3:00e484173b1f | 90 | void testOK(); // alle Led blinken 3 mal |
Enenkel | 3:00e484173b1f | 91 | void LineTest(); // Line Test |
Enenkel | 3:00e484173b1f | 92 | void tu90r(); |
Enenkel | 3:00e484173b1f | 93 | // Konstante |
Enenkel | 3:00e484173b1f | 94 | int T1,T2,T3,T4,T5,T6,T7,T8; |
Enenkel | 3:00e484173b1f | 95 | // ******************* HAUPTPROGRAMM ******************* |
Enenkel | 3:00e484173b1f | 96 | int main() { |
Enenkel | 3:00e484173b1f | 97 | t=200; // 0,2 sec |
Enenkel | 3:00e484173b1f | 98 | t2=500; |
Enenkel | 3:00e484173b1f | 99 | Von=1; |
Enenkel | 3:00e484173b1f | 100 | while(t) |
Enenkel | 3:00e484173b1f | 101 | { |
Enenkel | 3:00e484173b1f | 102 | WSLI=WSRE=GELIVO=GEREVO=GEREHI=GELIHI=RTREHI=RTLIHI=1; |
Enenkel | 3:00e484173b1f | 103 | ledD10=ledD11=ledD12=ledD13=1; |
Enenkel | 3:00e484173b1f | 104 | BlueTest(); |
Enenkel | 3:00e484173b1f | 105 | LedTest(); |
Enenkel | 3:00e484173b1f | 106 | b=0; |
Enenkel | 3:00e484173b1f | 107 | while (b<2) |
Enenkel | 3:00e484173b1f | 108 | { vor(); |
Enenkel | 3:00e484173b1f | 109 | tu90r(); |
Enenkel | 3:00e484173b1f | 110 | vor(); |
Enenkel | 3:00e484173b1f | 111 | tu90r(); |
Enenkel | 3:00e484173b1f | 112 | vor(); |
Enenkel | 3:00e484173b1f | 113 | tu90r(); |
Enenkel | 3:00e484173b1f | 114 | vor(); |
Enenkel | 3:00e484173b1f | 115 | tu90r(); |
Enenkel | 3:00e484173b1f | 116 | b++; |
Enenkel | 3:00e484173b1f | 117 | } |
Enenkel | 3:00e484173b1f | 118 | |
Enenkel | 3:00e484173b1f | 119 | retu(); |
Enenkel | 3:00e484173b1f | 120 | lituf(); |
Enenkel | 3:00e484173b1f | 121 | retuf(); |
Enenkel | 3:00e484173b1f | 122 | vor(); |
Enenkel | 3:00e484173b1f | 123 | tu90r(); |
Enenkel | 3:00e484173b1f | 124 | vor(); |
Enenkel | 3:00e484173b1f | 125 | tu90r(); |
Enenkel | 3:00e484173b1f | 126 | vor(); |
Enenkel | 3:00e484173b1f | 127 | tu90r(); |
Enenkel | 3:00e484173b1f | 128 | vor(); |
Enenkel | 3:00e484173b1f | 129 | } |
Enenkel | 3:00e484173b1f | 130 | |
Enenkel | 3:00e484173b1f | 131 | |
Enenkel | 3:00e484173b1f | 132 | } |
Enenkel | 2:f799412fe395 | 133 | |
Enenkel | 3:00e484173b1f | 134 | //******************** Unterprogramme ******************* |
Enenkel | 3:00e484173b1f | 135 | void tu90r() |
Enenkel | 3:00e484173b1f | 136 | { |
Enenkel | 3:00e484173b1f | 137 | Von=1; |
Enenkel | 3:00e484173b1f | 138 | WSLI=WSRE=0; |
Enenkel | 3:00e484173b1f | 139 | MG1_F=1; |
Enenkel | 3:00e484173b1f | 140 | MG1_EN=1; |
Enenkel | 3:00e484173b1f | 141 | GEREVO=GEREHI=0; |
Enenkel | 3:00e484173b1f | 142 | wait (0.3); |
Enenkel | 3:00e484173b1f | 143 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 144 | MG1_F = MG1_EN = 0; |
Enenkel | 3:00e484173b1f | 145 | GEREVO=GEREHI=1; |
Enenkel | 3:00e484173b1f | 146 | } |
Enenkel | 0:7bf2f1754883 | 147 | |
Enenkel | 0:7bf2f1754883 | 148 | |
Enenkel | 3:00e484173b1f | 149 | void vor() |
Enenkel | 3:00e484173b1f | 150 | { a=0; |
Enenkel | 3:00e484173b1f | 151 | while (a<3) |
Enenkel | 3:00e484173b1f | 152 | { Von=1; |
Enenkel | 3:00e484173b1f | 153 | WSLI=WSRE=0; |
Enenkel | 3:00e484173b1f | 154 | MG1_F=MG2_F=1; |
Enenkel | 3:00e484173b1f | 155 | MG1_EN=MG2_EN=1; |
Enenkel | 3:00e484173b1f | 156 | wait_ms(t); |
Enenkel | 3:00e484173b1f | 157 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 158 | MG1_F=MG2_F=0; |
Enenkel | 3:00e484173b1f | 159 | a++; |
Enenkel | 3:00e484173b1f | 160 | } |
Enenkel | 3:00e484173b1f | 161 | } |
Enenkel | 3:00e484173b1f | 162 | |
Enenkel | 3:00e484173b1f | 163 | void ret() |
Enenkel | 3:00e484173b1f | 164 | { a=0; |
Enenkel | 3:00e484173b1f | 165 | while (a<3) |
Enenkel | 3:00e484173b1f | 166 | { Von=1; |
Enenkel | 3:00e484173b1f | 167 | WSLI=WSRE=0; |
Enenkel | 3:00e484173b1f | 168 | RTLIHI=RTREHI=0; |
Enenkel | 3:00e484173b1f | 169 | MG1_R=MG2_R=1; |
Enenkel | 3:00e484173b1f | 170 | MG1_EN=MG2_EN=1; |
Enenkel | 3:00e484173b1f | 171 | wait_ms(t); |
Enenkel | 3:00e484173b1f | 172 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 173 | MG1_R=MG2_R=0; |
Enenkel | 3:00e484173b1f | 174 | RTLIHI=RTREHI=1; |
Enenkel | 3:00e484173b1f | 175 | a++; |
Enenkel | 3:00e484173b1f | 176 | } |
Enenkel | 3:00e484173b1f | 177 | } |
Enenkel | 3:00e484173b1f | 178 | |
Enenkel | 3:00e484173b1f | 179 | void retu() |
Enenkel | 1:d6e5f9c188d3 | 180 | { |
Enenkel | 3:00e484173b1f | 181 | a=0; |
Enenkel | 3:00e484173b1f | 182 | while (a<5) |
Enenkel | 3:00e484173b1f | 183 | { Von=1; |
Enenkel | 3:00e484173b1f | 184 | WSLI=WSRE=0; |
Enenkel | 3:00e484173b1f | 185 | GEREVO=GEREHI=0; |
Enenkel | 3:00e484173b1f | 186 | MG1_R=1; |
Enenkel | 3:00e484173b1f | 187 | MG1_EN=1; |
Enenkel | 3:00e484173b1f | 188 | wait (0.3); |
Enenkel | 3:00e484173b1f | 189 | GEREVO=GEREHI=1; |
Enenkel | 3:00e484173b1f | 190 | wait (0.3); |
Enenkel | 3:00e484173b1f | 191 | a++; |
Enenkel | 3:00e484173b1f | 192 | } |
Enenkel | 3:00e484173b1f | 193 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 194 | MG1_R=MG2_R=0; |
Enenkel | 3:00e484173b1f | 195 | |
Enenkel | 3:00e484173b1f | 196 | } |
Enenkel | 3:00e484173b1f | 197 | |
Enenkel | 3:00e484173b1f | 198 | void lituf() |
Enenkel | 3:00e484173b1f | 199 | { |
Enenkel | 3:00e484173b1f | 200 | a=0; |
Enenkel | 3:00e484173b1f | 201 | while (a<6) |
Enenkel | 3:00e484173b1f | 202 | { Von=1; |
Enenkel | 3:00e484173b1f | 203 | WSLI=WSRE=GELIVO=GEREVO=GEREHI=GELIHI=RTREHI=RTLIHI=0; |
Enenkel | 3:00e484173b1f | 204 | ledD10=ledD11=ledD12=ledD13=0; |
Enenkel | 3:00e484173b1f | 205 | MG1_F=1; |
Enenkel | 3:00e484173b1f | 206 | MG2_R=1; |
Enenkel | 3:00e484173b1f | 207 | MG1_EN=MG2_EN=1; |
Enenkel | 3:00e484173b1f | 208 | wait (0.3); |
Enenkel | 3:00e484173b1f | 209 | WSLI=WSRE=GELIVO=GEREVO=GEREHI=GELIHI=RTREHI=RTLIHI=1; |
Enenkel | 3:00e484173b1f | 210 | ledD10=ledD11=ledD12=ledD13=1; |
Enenkel | 3:00e484173b1f | 211 | wait (0.3); |
Enenkel | 3:00e484173b1f | 212 | a++; |
Enenkel | 3:00e484173b1f | 213 | } |
Enenkel | 3:00e484173b1f | 214 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 215 | MG1_F=MG2_R=0; |
Enenkel | 3:00e484173b1f | 216 | MG1_EN=MG2_EN=0; |
Enenkel | 3:00e484173b1f | 217 | } |
Enenkel | 3:00e484173b1f | 218 | |
Enenkel | 1:d6e5f9c188d3 | 219 | |
Enenkel | 3:00e484173b1f | 220 | void retuf() |
Enenkel | 3:00e484173b1f | 221 | { |
Enenkel | 3:00e484173b1f | 222 | a=0; |
Enenkel | 3:00e484173b1f | 223 | while (a<6) |
Enenkel | 3:00e484173b1f | 224 | { Von=1; |
Enenkel | 3:00e484173b1f | 225 | WSLI=WSRE=GELIVO=GEREVO=GEREHI=GELIHI=RTREHI=RTLIHI=0; |
Enenkel | 3:00e484173b1f | 226 | ledD10=ledD11=ledD12=ledD13=0; |
Enenkel | 3:00e484173b1f | 227 | |
Enenkel | 3:00e484173b1f | 228 | MG1_R=1; |
Enenkel | 3:00e484173b1f | 229 | MG2_F=1; |
Enenkel | 3:00e484173b1f | 230 | MG1_EN=MG2_EN=1; |
Enenkel | 3:00e484173b1f | 231 | wait (0.3); |
Enenkel | 3:00e484173b1f | 232 | WSLI=WSRE=GELIVO=GEREVO=GEREHI=GELIHI=RTREHI=RTLIHI=1; |
Enenkel | 3:00e484173b1f | 233 | ledD10=ledD11=ledD12=ledD13=1; |
Enenkel | 3:00e484173b1f | 234 | wait (0.3); |
Enenkel | 3:00e484173b1f | 235 | a++; |
Enenkel | 3:00e484173b1f | 236 | } |
Enenkel | 3:00e484173b1f | 237 | WSLI=WSRE=1; |
Enenkel | 3:00e484173b1f | 238 | MG1_R=MG2_F=0; |
Enenkel | 3:00e484173b1f | 239 | MG1_EN=MG2_EN=0; |
Enenkel | 3:00e484173b1f | 240 | } |
Enenkel | 3:00e484173b1f | 241 | |
Enenkel | 3:00e484173b1f | 242 | void LedTest() // Testet alle LED des B16 *************** |
Enenkel | 3:00e484173b1f | 243 | { |
Enenkel | 3:00e484173b1f | 244 | a=0; |
Enenkel | 3:00e484173b1f | 245 | while(a<5) |
Enenkel | 3:00e484173b1f | 246 | { |
Enenkel | 3:00e484173b1f | 247 | GELIVO=0; |
Enenkel | 3:00e484173b1f | 248 | wait_ms(t); |
Enenkel | 3:00e484173b1f | 249 | GELIVO=1; |
Enenkel | 3:00e484173b1f | 250 | GEREVO=0; |
Enenkel | 3:00e484173b1f | 251 | wait_ms (t); |
Enenkel | 3:00e484173b1f | 252 | GEREVO=1; |
Enenkel | 3:00e484173b1f | 253 | GEREHI=0; |
Enenkel | 3:00e484173b1f | 254 | wait_ms (t); |
Enenkel | 3:00e484173b1f | 255 | GEREHI=1; |
Enenkel | 3:00e484173b1f | 256 | GELIHI=0; |
Enenkel | 3:00e484173b1f | 257 | wait_ms (t); |
Enenkel | 3:00e484173b1f | 258 | GELIHI=1; |
Enenkel | 3:00e484173b1f | 259 | a++; |
Enenkel | 3:00e484173b1f | 260 | } |
Enenkel | 3:00e484173b1f | 261 | a=0; |
Enenkel | 3:00e484173b1f | 262 | while (a<4) |
Enenkel | 3:00e484173b1f | 263 | { |
Enenkel | 3:00e484173b1f | 264 | WSLI=WSRE=RTLIHI=RTREHI=0; |
Enenkel | 3:00e484173b1f | 265 | wait (0.3); |
Enenkel | 3:00e484173b1f | 266 | WSLI=WSRE=RTLIHI=RTREHI=1; |
Enenkel | 3:00e484173b1f | 267 | wait (0.3); |
Enenkel | 3:00e484173b1f | 268 | a++; |
Enenkel | 3:00e484173b1f | 269 | } |
Enenkel | 3:00e484173b1f | 270 | a=0; |
Enenkel | 3:00e484173b1f | 271 | |
Enenkel | 3:00e484173b1f | 272 | while (a<4) |
Enenkel | 3:00e484173b1f | 273 | { |
Enenkel | 3:00e484173b1f | 274 | WSLI=0; |
Enenkel | 3:00e484173b1f | 275 | wait (0.25); |
Enenkel | 3:00e484173b1f | 276 | WSLI=1; |
Enenkel | 3:00e484173b1f | 277 | WSRE=0; |
Enenkel | 3:00e484173b1f | 278 | wait (0.25); |
Enenkel | 3:00e484173b1f | 279 | WSRE=1; |
Enenkel | 3:00e484173b1f | 280 | a++; |
Enenkel | 3:00e484173b1f | 281 | } |
Enenkel | 3:00e484173b1f | 282 | } |
Enenkel | 3:00e484173b1f | 283 | // ********************* BLAUE LED TESTEN ************** |
Enenkel | 3:00e484173b1f | 284 | void BlueTest() // BLAUE LED TESTEN ***** + 5V ***** |
Enenkel | 3:00e484173b1f | 285 | { a=0; |
Enenkel | 3:00e484173b1f | 286 | while (a<4) |
Enenkel | 3:00e484173b1f | 287 | { |
Enenkel | 3:00e484173b1f | 288 | LedBl=1; |
Enenkel | 3:00e484173b1f | 289 | wait_ms(t); |
Enenkel | 3:00e484173b1f | 290 | LedBl=0; |
Enenkel | 3:00e484173b1f | 291 | wait_ms(t); |
Enenkel | 3:00e484173b1f | 292 | a=a++; |
Enenkel | 3:00e484173b1f | 293 | } |
Enenkel | 3:00e484173b1f | 294 | LedBl=1; |
Enenkel | 3:00e484173b1f | 295 | } |
Enenkel | 3:00e484173b1f | 296 | |
Enenkel | 3:00e484173b1f | 297 | // ******************** Motor Test ********************** |
Enenkel | 3:00e484173b1f | 298 | void MotorTest() // MOTOR TEST ******* + 12 V ***** |
Enenkel | 3:00e484173b1f | 299 | { |
Enenkel | 3:00e484173b1f | 300 | a=0; |
Enenkel | 3:00e484173b1f | 301 | MG1_EN=MG2_EN=1; |
Enenkel | 3:00e484173b1f | 302 | Von=1; |
Enenkel | 3:00e484173b1f | 303 | while (a<5) |
Enenkel | 3:00e484173b1f | 304 | { |
Enenkel | 3:00e484173b1f | 305 | MG1_F=MG2_F=1; //vor fahren |
Enenkel | 3:00e484173b1f | 306 | wait (1.5); |
Enenkel | 3:00e484173b1f | 307 | MG1_F=MG2_F=0; |
Enenkel | 3:00e484173b1f | 308 | MG1_R=MG2_R=1; //retour fahren |
Enenkel | 3:00e484173b1f | 309 | wait (1); |
Enenkel | 3:00e484173b1f | 310 | MG1_R=MG2_R=0; |
Enenkel | 3:00e484173b1f | 311 | a++; |
Enenkel | 3:00e484173b1f | 312 | } |
Enenkel | 3:00e484173b1f | 313 | MG1_EN=MG2_EN=0; |
Enenkel | 3:00e484173b1f | 314 | Von=0; |
Enenkel | 3:00e484173b1f | 315 | } |
Enenkel | 3:00e484173b1f | 316 | |
Enenkel | 3:00e484173b1f | 317 | |
Enenkel | 1:d6e5f9c188d3 | 318 | // **************** TASTER TEST ******************** |
Enenkel | 3:00e484173b1f | 319 | |
Enenkel | 3:00e484173b1f | 320 | // **************************** RGB TEST ******************************** |
Enenkel | 3:00e484173b1f | 321 | void RGBTest() |
Enenkel | 3:00e484173b1f | 322 | { |
Enenkel | 3:00e484173b1f | 323 | writeled(0x000000); // setze alle LED AUS ! |
Enenkel | 3:00e484173b1f | 324 | writeled(0x000000); |
Enenkel | 3:00e484173b1f | 325 | writeled(0x000000); // |
Enenkel | 3:00e484173b1f | 326 | a=0; |
Enenkel | 3:00e484173b1f | 327 | while(a<5) // geht 5 mal durch die Schleife ! |
Enenkel | 3:00e484173b1f | 328 | { |
Enenkel | 3:00e484173b1f | 329 | writeled(0xFF0000); // BLAU! |
Enenkel | 3:00e484173b1f | 330 | wait(1); |
Enenkel | 3:00e484173b1f | 331 | writeled(0x00FF00); // ROT ! |
Enenkel | 3:00e484173b1f | 332 | wait (1); |
Enenkel | 3:00e484173b1f | 333 | writeled(0x0000FF); // GRÜN ! |
Enenkel | 3:00e484173b1f | 334 | wait(1); |
Enenkel | 3:00e484173b1f | 335 | writeled(0x000000); // Finster |
Enenkel | 3:00e484173b1f | 336 | wait(1); |
Enenkel | 3:00e484173b1f | 337 | wait(1); |
Enenkel | 3:00e484173b1f | 338 | a=a++; |
Enenkel | 3:00e484173b1f | 339 | } |
Enenkel | 3:00e484173b1f | 340 | } |
Enenkel | 3:00e484173b1f | 341 | |
Enenkel | 3:00e484173b1f | 342 | void writeled(uint32_t leddata) |
Enenkel | 3:00e484173b1f | 343 | { int i; |
Enenkel | 3:00e484173b1f | 344 | for(i=0;i<24;i++) |
Enenkel | 3:00e484173b1f | 345 | { |
Enenkel | 3:00e484173b1f | 346 | // writeledbit(((leddata>>i)&0x000001)==1); //lt jan |
Enenkel | 3:00e484173b1f | 347 | writeledbit(((leddata>>i)&0x000001)==0x000001); |
Enenkel | 3:00e484173b1f | 348 | } |
Enenkel | 1:d6e5f9c188d3 | 349 | } |
Enenkel | 3:00e484173b1f | 350 | void writeledbit(char wert) // Funktion schreibe bit |
Enenkel | 3:00e484173b1f | 351 | { |
Enenkel | 3:00e484173b1f | 352 | int j; |
Enenkel | 3:00e484173b1f | 353 | if(wert) |
Enenkel | 3:00e484173b1f | 354 | { // kritische Zeiteinstellung ! |
Enenkel | 3:00e484173b1f | 355 | // hab einiges versucht -> leuchten nicht konstant ! |
Enenkel | 3:00e484173b1f | 356 | // bringen verschiedene Farben nicht wiederholbares Ergebnis! |
Enenkel | 3:00e484173b1f | 357 | RGB=1; // schreibe eine 1 |
Enenkel | 3:00e484173b1f | 358 | for(j=0;j<5;j++) //war 5 |
Enenkel | 3:00e484173b1f | 359 | { |
Enenkel | 3:00e484173b1f | 360 | __nop(); |
Enenkel | 3:00e484173b1f | 361 | } |
Enenkel | 3:00e484173b1f | 362 | RGB=0; |
Enenkel | 3:00e484173b1f | 363 | for(j=0;j<1;j++) // war 1 |
Enenkel | 3:00e484173b1f | 364 | { |
Enenkel | 3:00e484173b1f | 365 | __nop(); |
Enenkel | 3:00e484173b1f | 366 | } |
Enenkel | 3:00e484173b1f | 367 | } |
Enenkel | 3:00e484173b1f | 368 | else |
Enenkel | 3:00e484173b1f | 369 | { |
Enenkel | 3:00e484173b1f | 370 | RGB=1; // schreiben eine 0 |
Enenkel | 3:00e484173b1f | 371 | for(j=0;j<1;j++) // war 1 |
Enenkel | 3:00e484173b1f | 372 | { |
Enenkel | 3:00e484173b1f | 373 | __nop(); |
Enenkel | 3:00e484173b1f | 374 | } |
Enenkel | 3:00e484173b1f | 375 | RGB=0; |
Enenkel | 3:00e484173b1f | 376 | for(j=0;j<5;j++) // war 5 |
Enenkel | 3:00e484173b1f | 377 | { |
Enenkel | 3:00e484173b1f | 378 | __nop(); |
Enenkel | 3:00e484173b1f | 379 | } |
Enenkel | 3:00e484173b1f | 380 | } |
Enenkel | 1:d6e5f9c188d3 | 381 | } |
Enenkel | 3:00e484173b1f | 382 | // ****************** LINE TEST ********************** |
Enenkel | 3:00e484173b1f | 383 | |
Enenkel | 3:00e484173b1f | 384 | /* |
Enenkel | 3:00e484173b1f | 385 | void LineTest() |
Enenkel | 3:00e484173b1f | 386 | { |
Enenkel | 3:00e484173b1f | 387 | Von=1; |
Enenkel | 3:00e484173b1f | 388 | EN_Line=1; |
Enenkel | 3:00e484173b1f | 389 | T1=T2=T3=T4=T5=T6=T7=T8=0; |
Enenkel | 3:00e484173b1f | 390 | a=0; |
Enenkel | 3:00e484173b1f | 391 | while(a<4) |
Enenkel | 3:00e484173b1f | 392 | { |
Enenkel | 3:00e484173b1f | 393 | if (ISO1==1) |
Enenkel | 3:00e484173b1f | 394 | { ledD2=1; |
Enenkel | 3:00e484173b1f | 395 | T1=1; |
Enenkel | 3:00e484173b1f | 396 | } |
Enenkel | 3:00e484173b1f | 397 | else ledD2=0; |
Enenkel | 3:00e484173b1f | 398 | if (ISO2==1) |
Enenkel | 3:00e484173b1f | 399 | { ledD1=1; |
Enenkel | 3:00e484173b1f | 400 | T2=1; |
Enenkel | 3:00e484173b1f | 401 | } |
Enenkel | 3:00e484173b1f | 402 | else ledD1=0; |
Enenkel | 3:00e484173b1f | 403 | if (ISO3==1) |
Enenkel | 3:00e484173b1f | 404 | { ledD4=1; |
Enenkel | 3:00e484173b1f | 405 | T3=1; |
Enenkel | 3:00e484173b1f | 406 | } |
Enenkel | 3:00e484173b1f | 407 | else ledD4=0; |
Enenkel | 3:00e484173b1f | 408 | if (ISO4==1) |
Enenkel | 3:00e484173b1f | 409 | { ledD5=1; |
Enenkel | 3:00e484173b1f | 410 | T4=1; |
Enenkel | 3:00e484173b1f | 411 | } |
Enenkel | 3:00e484173b1f | 412 | else ledD5=0; |
Enenkel | 3:00e484173b1f | 413 | if (ISO5==1) |
Enenkel | 3:00e484173b1f | 414 | { ledD6=1; |
Enenkel | 3:00e484173b1f | 415 | ledD8=1; |
Enenkel | 3:00e484173b1f | 416 | T5=1; |
Enenkel | 3:00e484173b1f | 417 | } |
Enenkel | 3:00e484173b1f | 418 | else |
Enenkel | 3:00e484173b1f | 419 | { ledD6=0; |
Enenkel | 3:00e484173b1f | 420 | ledD8=0; |
Enenkel | 3:00e484173b1f | 421 | } |
Enenkel | 3:00e484173b1f | 422 | if (T1==T2==T3==T4==T5==1) |
Enenkel | 3:00e484173b1f | 423 | { |
Enenkel | 3:00e484173b1f | 424 | a++; |
Enenkel | 3:00e484173b1f | 425 | T1=T2=T3=T4=T5=T6=T7=T8=0; |
Enenkel | 3:00e484173b1f | 426 | } |
Enenkel | 3:00e484173b1f | 427 | |
Enenkel | 3:00e484173b1f | 428 | } |
Enenkel | 3:00e484173b1f | 429 | testOK(); |
Enenkel | 3:00e484173b1f | 430 | } |
Enenkel | 3:00e484173b1f | 431 | */ |
Enenkel | 3:00e484173b1f | 432 | |
Enenkel | 3:00e484173b1f | 433 | // ******************** ENDE *********************** |