Fehler im Betrieb

Gast #3565293
Lesenswert?
• ▲
▼
Hallo,

ich muß gleich vorweg sagen, dass ich beim Programmieren der Controller 
nicht sehr erfahren bin. Dies ist eines meiner ersten Projekte.
Der Controller soll als Stundenzähler für eine Heizkanone dienen. 
Mittels Schlüsselschalter können die einzelen Benutzer die Heizung 
einschalten und die Betriebsstunden werden pro Person gezählt. Werden 
zwei Schlüssel gedreht, wird die Zeit entsprechend gerechnet. Werden 
drei Schlüssel gedreht, läuft die Zeit auf ein gemeinschafts Konto. 
Soweit läuft die ganze Sache auch ganz gut. Folgendes Problem tritt erst 
nach einigen Stunden auf.
Es werden falsche Werte berechnet, angezeigt und in den Speicher 
geschrieben.
z.B: spring der Minutenzähler auf werte über 60, oder die Anzeige im 
Display verschiebt sich.

Vielleicht hat jemand einen Tip für mich, ich weiß jedenfalls nicht mehr 
weiter.

Mfg
Martin
Gast #3566763
Lesenswert?
• ▲
▼
cap schrieb:
> z.B: spring der Minutenzähler auf werte über 60

Das solltest du vermeiden, indem du schon in dem Moment, wo er auf 60 
schaltet, ihn automatisch auf 00 zurücksetzt und dafür den Stundenzähler 
um eins erhöhst. In der Fachsprache heißt das "Übertrag".
Gast #3566786
Lesenswert?
• ▲
▼
Bei dem Programm das du gepostet hast wird kein Fehler auftreten.
Da kommt gar nicht erst durch den Compiler;)

int tast0, tast1, tast2, tast2, tast3, tast4, tast5, tast6, tast7;
                  ^^^^^  ^^^^^
                  |||||  |||||
Gast #3567270
Lesenswert?
• ▲
▼
cap schrieb:
> Hab ich das nicht?
1
 
2
  if (Minuten1 > 59)
3
       {
4
         Stunden1 = Stunden1 + 1;
5
         Minuten1 = 0;
6
         if ((Stunden1 > 0) && (Stunden1 < 999))
7
         {
8
          eeprom_write_word(&Stunden1_ee,eeprom_read_word(&Stunden1_ee) +  1 );
9
         }
10
       }

Auf jeden Fall nicht im EEPROM.

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.