Funktion verstehen

Gast #3240197
Lesenswert?
• ▲
▼
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.