ich finde das unabhängig vom Programmieren so aber viel übersichtlicher
Man erkennt sofort die wesentlichen Funktionen um was es hier geht, wird nicht zwischen unnötiges Setzen von Variablen oder gleichen abgelenkt.
Man kann es jetzt noch unwesentlich verkürzen , aber das tut schon fast nix mehr zur Sache .
ich trau der Picaxe nicht ,...........
wenn ich eine Operation habe wie :
If Gänseblümchen = frisch OR Gänseblümchen = HELL then ....
mache ich das lieber getrennt oder anders , das das eindeutiger wird für den Chip.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
; picaxe14m2 ; automatische Compilerauswahl für gedit
;
pause 1000 ; eine Pause für die RC-Elektrik
;
symbol RC_Signal = b0 ; das Signal vom Empfänger
symbol Blinker = b1 ; Blinker links ein/aus
symbol Rundumlicht = b3 ; Rundumlicht 4 LEDs
;
Main:
;
pulsin C.4, 1, RC_Signal ; RC-Signal vom Fahrtregler abfragen (Bremslicht)
Select case RC_Signal
case 144 to 156
high c.0
else
low c.0
end select
;-------------------------
;
pulsin C.3, 1, RC_Signal ; RC-Signal vom Lenkservo abfragen (Blinker)
if RC_Signal < 143 then
Blinker = 1 ; Links
elseif RC_Signal > 157 then
Blinker = 2 ; Rechts
else
Blinker = 0
low C.1
low C.2
endif
;------------------------
;
pulsin B.5, 1, RC_Signal ; RC-Signal vom ??? abfragen (Rundumlicht)
select case RC_Signal
case 144 to 156
Rundumlicht =0
else
Rundumlicht =1
end select
;
goto Main
;
;
start1: ; Multitask für die Blinker
if Blinker = 1 then
high C.1 : pause 99
low C.1 : pause 99
elseif Blinker=2 then
high C.2 : pause 99
low C.2 : pause 99
endif
goto start1
;
;
start2: ; Multitask für das Rundumlicht
if Rundumlicht = 1 then
low b.4 : high b.1 : pause 99
low b.1 : high b.2 : pause 99
low b.2 : high b.3 : pause 99
low b.3 : high b.4 : pause 99
else
low b.1 ,b.2 , b.3, b.4
endif
goto start2
;