Hallo Gemeinde,
ich versuche diese Code nachzuvollziehen komme aber nicht weiter:
Also der Timer2 wurde als compare match definiert.
ucMsTimer wieso wird dort nur bis 50 gezählt?
ulLowWoltageOffTimer = 90000000; was ist das für eine definition sollen
das 1,5 std darstellen?
1 | ISR (TIMER2_COMPA_vect) {
|
2 | static unsigned char ucCounter;
|
3 | static unsigned char ucMsTimer;
|
4 | unsigned char ucLED;
|
5 |
|
6 | if ( ucMsTimer > 50 ){
|
7 | ucMsTimer = 0;
|
8 | } else {
|
9 | ucMsTimer++;
|
10 | }
|
11 |
|
12 | // Millisekunden-Timer
|
13 | if ( ucMsTimer==0 ){
|
14 | // Tastenabfrage
|
15 | handler_tasten();
|
16 | // Laufzeitüberachung
|
17 | if ( s_IO.ulLaufzeit > 0 ){
|
18 | s_IO.ulLaufzeit--;
|
19 | }
|
20 | // Zweifarbenblinktimer
|
21 | if ( s_IO.uiZweifarbenBlinktimer > 0 ){
|
22 | s_IO.uiZweifarbenBlinktimer--;
|
23 | }
|
24 | // Wiederholungstimer
|
25 | if ( s_IO.uiTimerRepeat > 0 ){
|
26 | s_IO.uiTimerRepeat--;
|
27 | }
|
28 | // Akkutimer
|
29 | if ( s_IO.uiTimerAkku > 0 ){
|
30 | s_IO.uiTimerAkku--;
|
31 | }
|
32 | if ( s_IO.ulTimerPostCharge > 0 ){
|
33 | s_IO.ulTimerPostCharge--;
|
34 | }
|
35 | if ( s_IO.ulTimerChargeTime > 0 ){
|
36 | s_IO.ulTimerChargeTime--;
|
37 | }
|
38 | // LV-Timer
|
39 | if ( uiTimerLV > 0 ){
|
40 | uiTimerLV--;
|
41 | }
|
42 | // LV-Timer
|
43 | if ( uiTimerLVOff > 0 ){
|
44 | uiTimerLVOff--;
|
45 | }
|
46 | // Low-Voltage-Off-Timer
|
47 | if ( ucLowVoltage ){
|
48 | if ( e_State == RUN ){
|
49 | if ( ulLowWoltageOffTimer > 100 ){
|
50 | ulLowWoltageOffTimer -= 100;
|
51 | } else {
|
52 | ulLowWoltageOffTimer = 0;
|
53 | }
|
54 | } else {
|
55 | if ( ulLowWoltageOffTimer > 0 ){
|
56 | ulLowWoltageOffTimer--;
|
57 | }
|
58 | }
|
59 | } else {
|
60 | ulLowWoltageOffTimer = 90000000;
|
61 | }
|
62 |
|
63 | }
|
Gruß Uni-T