Re: einfrieren des Programms Kategorie: Programmierung C (von mave - 31.07.2013 14:58) | |
Als Antwort auf Re: einfrieren des Programms von Ernst H. - 31.07.2013 10:49
| |
> > > > > > > > > Hallo Leute > > > > > > > > > > > > > > > > > > Dachte gestern ich bin mit meinem rie�en Projekt fertig und dann die nächste Challenge. > > > > > > > > > Das Programm friert ein. > > > > > > > > > Ich benutze die RS232 I2C Tastatur LCD ... > > > > > > > > > Das Programm läuft einmal 30 Minuten fehlerfrei manchmal 2 Stunden und manchmal ca. 6 Stunden > > > > > > > > > danach friert die LCD ein ... keine neue Aktualisierung die Tastatur regiert nicht mehr.... alles steht. > > > > > > > > > > > > > > > > > > Hat jemand eine Idee wie sich das logisch erklären lä�t? > > > > > > > > > Werde jetzt einen Programmteil nach dem anderen ausschalten und schauen ob die Stabilität > > > > > > > > > zurückkehrt. Nur bei so unterschiedlichen Laufzeiten wird die Analyse schwierig. > > > > > > > > > > > > > > > > > > lg > > > > > > > > > mave > > > > > > > > > > > > > > > > HAllo NAchtrag > > > > > > > > Ich habe mal nach dem Compilieren den Speicher überprüft > > > > > > > > SRAM mittels JUmper deaktiviert > > > > > > > > �bersetze Projekt DCF_RTC > > > > > > > > C-Control Pro Compiler (C) 2011 Conrad Electronic > > > > > > > > Durchlaufe Pass 1 > > > > > > > > Durchlaufe Pass 2 > > > > > > > > 1301 bytes (4kb:52% - 64kb:2%) globale Variablen > > > > > > > > Generiere Bytecode - 16524 bytes.. > > > > > > > > Schreibe Symboldaten - 29384 bytes.. > > > > > > > > ISt das vielleicht zuviel Speicher den ich brauchen wenn das SRAM deaktiviert ist und deswegen das > > > > > > > > Programm irgendwann einfriert? > > > > > > > > Sollte bei 64 kb nicht 0 stehen ..ist dass nicht das Sram? > > > > > > > > > > > > > > > > lg > > > > > > > > > > > > > > > > mave > > > > > > > > > > > > > > Hallo allerseits > > > > > > > > > > > > > > Wei� dazu niemand etwas? > > > > > > > > > > > > > > Jetzt ist es wieder einen Tag lang gelaufen und nun wieder ausfälle alle paar minuten (ca. 3 mal) > > > > > > > > > > > > > > jett läuft es wieder stail. hat jemand erfahrungen damit? > > > > > > > > > > > > > > lg > > > > > > > mave > > > > > > > > > > > > Zusatzinfo > > > > > > mi ist ufgefallen wenn ich an dem tromverteiler an dem das Netzgerät vom Microcontroller > > > > > > hängt z.B ein Ladekabel für ein Handy bzw. einer Tischlampe anhämge der Mikrocontroller > > > > > > auch resetiert.... jetzt wird es aber echt Spannend. Ist etwas beklannt das der Mikrocontroller > > > > > > auf irgendetwas allergisch reagiert? > > > > > > > > > > Das hat jetzt nichts mit DEM Mikrocontroller zu tun. Alle Mikrocontroller reagieren > > > > > z.B. auf Spannungsschwankungen allergisch. Hast Du ein Oszi, mit dem Du mal messen kannst > > > > > ob die Spannung an Deinem Netzgerät einbricht? > > > > > > > > > > Gruss Peter > > > > > > > > ist vielleicht dein netzteil gerade an der grenze, wo es zusammenklappt? oder in der Wurst. > > > > ich nehme immer 12 V 1A. > > > hy was meinst du mit wurst ? Dazwischen hängt eine usv > > > Die 300 mA schafft aber laut Messungen komme ich nie über > > > 280 mA > > > > in der wurst mein: defekt... nicht in ordnung. ;O) > > sieht mir aber knapp aus. > > 220 V USV? die machen doch aus gleichstrom -- wechselstrom. > > weiss nicht, wie sauber die das gewechselt kriegen. und ob > > dein netzteil dann noch die 300 mA rausbekommt. > > > für jede "Richtige" Anwendung benötigt man einen Hardware Watchdog und die ständige Sicherung > aller wichtigen Werte auf einen externen CMos RAM. > Da das Hochfahren mehr als 2 sec dauert habe ich als Watchdog einen Tiny13 verwendet. > Die 240 Byte des RTC - PCF 8583 P eignen sich für die Zwischensicherung. Nebenbei hat man > den zu 100% Absturzsicheren externen RTC. > Ich schreibe bei jedem Neustart eine "Resetzahl" in den internen EE Prom > Manchmal sind mehrere Resets pro Tag - dies lässt sich nie verhindern. > Bei einer Anwendung welche mehr als ein Jahr in Betrieb ist, sind derzeit 638 Resets - wobei > sicherlich mehr als 200 durch die Programmierung und Tests dabei sind. Abschlu�bericht: Ja ich habe mir einen eigenen Hardwareseitigen Watchdog gebaut damit das System nicht unbeachsichtigt total asufällt. Der Fehler war das die USV nur 300 ma liefern kann laut Messungen komme ich auf Spitzenströme von 280 mA. Nur entfernt man die USV habe ich plötzlich spitzenströme von 310. Scheinbar war ich sehr grenzwertig unterwegs und das sorgte dafür das der Microcontroller kurzzeitig nicht ausreichen versorgt war und dadurch der Controller neu startete. Nun läuft sie jedenfalls stabil ;-) lg mave | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum