Hallo,
so wie meine if derzeit aufgebaut ist wird ja erst x und y überprüft und
dann p und q. Ich würde das gern "gleichzeitig" machen.
In meinem Fall sind x,y,p,q Temperaturen. x,y sowie p,q gehören zu
einem getrennten System. In jedem System sollen Solltemperatur und
Isttemperaturen verglichen werden. Je nach dem soll eine Heizung ein
oder aus geschaltet werden.
Blööd ist nur das erst eine If immer kommplett erledigt sein muss bevor
es zur anderen if geht - bis dahin ist Heizer 2 natürlich schon viel zu
lange heiß. Wie kann man solche if abfragen sicherer optimieren, so das
gleichzeitig beide Heizer gesteuert werden können?
1 | if(x_ist <= y_soll)
|
2 | {
|
3 | PORTD |= (1<<PD0); //Heizer an
|
4 | PORTD &= ~(1<<PD1; //Rührer aus
|
5 | }
|
6 | else if (x_ist > y_soll)
|
7 | {
|
8 | PORTD |= (1<<PD1); //Rührer an
|
9 | PORTD &= ~(1<<PD0; //Heizer aus
|
10 | }
|
11 | else
|
12 | {
|
13 | PORTD &= ~(1<<PD0; //Heizer aus
|
14 | PORTD &= ~(1<<PD1; //Rührer aus
|
15 | }
|
16 |
|
17 | if(p_ist < q_soll)
|
18 | {
|
19 | PORTB |= (1<<PC0); // zweiten Heizer an
|
20 | }
|
21 | else if (p >= q)
|
22 | {
|
23 | PORTB &= ~(1<<PC0); //zweiten Heizer aus
|
24 | }
|
Gruß Rocco