Hallo,
ich bin gerade dabei das Beispiel-Projekt "line2" aus der NIBO2 Libary
20110128 zu verstehen. Mir sind allerdings die Operatoren '?' und ':' im
C-Code nicht geläufig.
Was bewirken diese im konkreten Fall?
1 | //Copyrighthinweise...
|
2 | //includes, defines, ...
|
3 |
|
4 | int main() {
|
5 | //inits...
|
6 | copro_ir_startMeasure();
|
7 | delay(10);
|
8 | //motco_setSpeedParameters(5, 4, 6); // ki, kp, kd
|
9 | copro_setSpeedParameters(15, 20, 10); // ki, kp, kd
|
10 | int16_t speed_flt_l=0;
|
11 | int16_t speed_flt_r=0;
|
12 |
|
13 | while(1) {
|
14 | sei();
|
15 | _delay_ms(1);
|
16 | int16_t speed_l=0;
|
17 | int16_t speed_r=0;
|
18 |
|
19 | floor_update();
|
20 | char text[20]="-- -- -- -- --";
|
21 |
|
22 | // Bodensensoren
|
23 | floor_update();
|
24 |
|
25 | //Displayausgaben ...
|
26 |
|
27 | int16_t lval = floor_relative[LINE_LEFT]; //hier werden die Werte der
|
28 | int16_t flval = floor_relative[FLOOR_LEFT]; //Boden- und Liniensensoren
|
29 | int16_t frval = floor_relative[FLOOR_RIGHT]; //in temporären Variablen
|
30 | int16_t rval = floor_relative[LINE_RIGHT]; //gesichert
|
31 |
|
32 | int16_t cval = (flval>frval)?flval:frval; //und was geschieht hier?
|
33 |
|
34 | //...
|
35 | }
|
36 | return 0;
|
37 | }
|
Danke,
Marcel