Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann sich ein Programm verlangsamen?
Duesentrieb
03.11.2011, 09:07
Hallo,
ich habe mehrere Mega8 und Mega32 mit Bascom im Einsatz.
Immer wieder stelle ich fest dass sich ein Programm, welches z.B. eine LED gleichmäßig blinken lässt, plötzlich verlangsamt.
Die Megas laufen immer mit externem Quarz.
Habt Ihr so etwas auch schon einmal gehabt?
Wie kann ich das lösen?
Gibt nix, was nicht andere auch schon hatten.
Möglichkeiten;
1) ein Wunder geschieht
2) die Hardware spinnt
3) in der Software steht ein Käse drinnen
am häufigsten ist 3) , die Veröffentlichung des Programms wäre also erforderlich
und ev. eine Anamnese, d.h. z.B was heisst plötzlich verlangsamt ? nach einer sekunde, minute stunde ?
Wenn die LED zum ersten mal blinkt freut man sich und die Zeit geht schneller vorbei (subjektiv)
Wenn man 2 Stunden vor dem Blinker sitzt wird's langweilig und die Zeit vergeht subjektiv
langsamer ... kann aber auch sein das die Blinkerei dem µC auf den Die geht.
Hallo,
ich habe mehrere Mega8 und Mega32 mit Bascom im Einsatz.
Immer wieder stelle ich fest dass sich ein Programm, welches z.B. eine LED gleichmäßig blinken lässt, plötzlich verlangsamt.
Die Megas laufen immer mit externem Quarz.
Habt Ihr so etwas auch schon einmal gehabt?
Wie kann ich das lösen?
Das kann sehr viele Ursachen haben, eine Möglichkeit Erwärmung von Bauteilen oder Teile derselben. Frequenz nicht wirklich stabil und natürlich auch Software Fehler siehe auch die Antwort von PicNick.
Gruß Richard
Das Programm könnte natürlich auch durch Interrupts gebremst werden.
Wenn dann die LED nicht über einen Timer blinkt sondern per Wartefunktion,
blinkt sie langsamer, wenn viele Interrupts auftreten.
hallo,
"Erwärmung von Bauteilen": Falls das Ganze halbwegs ordentlich aufgebaut ist, dürfte wohl das Quarz + C's das einzige BT sein, dass die Frequenz des
Blinkens beeinflussen dürfte, allerdings in einer Grössenordnung, die es selbst dem besten Zeitgefühl unmöglich machen sollte, das ohne Messmittel festzustellen.
Eine mögliche Ursache (aus meiner Erfahrung) für solche Effekte ist ein Stacküberlauf oder "falsch positionierte" Interrupt-Vektoren, ein Programmlisting
wäre hier wirklich sehr hilfreich.
mfg
Achim
Duesentrieb
04.11.2011, 17:22
Hallo und Danke für eure Antworten.
Leideder ist mein Programm / Programme sehr komplex (CAN-Bus, Teperatur mittels 1W, etc.) so dass ich euch das nicht unbedingt zumuten wollte.
Euren Antworten entnehme ich dass es mit größter Wahrscheinlichkeit an meinem Programmen liegen muss.
Da werde ich mich jetzt mal auf die Suche machen
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.