Wieviel MHz am besten für 1 Sekunden Takt

#1904861
Lesenswert?

@Kim Schmidt (corado)

>wie komme ich rechnerisch am besten auf 1 Sekunden der 500ms oder 100ms
>Interrupt?

Grundrechenarten?

>Also mit welchem Quarz und mit welchem Prescaler etc pp.
>Leider komme ich mit dem Timer in Pascal noch nicht klar, daher kann ich
>den noch nicht einsetzen....

Doch. Wenn du schon daran scheiterst, such dir ein anderes Hobby. Siehe 
Artikel Timer.

MFG
Falk
Gast #1904881
Lesenswert?

Tag!

Die MHz sind doch recht egal?
Hauptsache der Timer läuft mit größtem Prescaler nicht unterhalb einer 
Sekunde über?

Ganz Einfach:

- 16Bit-Timer verwenden.
-Passenden Prescaler verwenden.
- Interrut Timer_overflow aktivieren
-Korrekturzahl ausrechnen und nach einem Überlauf jeweils in den Timer 
vorladen.

Und schon hast du jede Sekunde (oder halb oder sonstiges??) einen 
Timer_overflow zur verfügung.

Bei Fragen helf ich gerne^^


Grüße Steffen
#1904889
Lesenswert?

Steffen schrieb:
> Tag!
>
> Die MHz sind doch recht egal?
> Hauptsache der Timer läuft mit größtem Prescaler nicht unterhalb einer
> Sekunde über?
>
> Ganz Einfach:
>
> - 16Bit-Timer verwenden.
> -Passenden Prescaler verwenden.
> - Interrut Timer_overflow aktivieren
> -Korrekturzahl ausrechnen und nach einem Überlauf jeweils in den Timer
> vorladen.

Anstelle von Vorladen, könnte man auch den CTC Modus benutzen.


Aber auch Falk ganz oben hat recht.
Timer sind universelle Bausteine des Mega32. Wenn man nicht mit ihnen 
umgehen kann, und das ist wirklich nicht schwer, dann verschenkt man 
glatt einen nicht unbeträchtlichen Teil dessen, was ein Mega32 von sich 
aus kann.
Persönliche Seite #1904942
Lesenswert?

Matthias schrieb:
> Mit nem 0,032768 MHz Quarz und nem Prescaler von 128 hat man einen
> "Quarzgenauen" Sekundentakt (wenn ich mich jetzt nicht verrechnet hab)
> ;-)
>
> 8-Bit Timer und Overflow IRQ

Mit einem 16MHz Takt, 256er Prescaler und CTC auf 62499 (16 Bit Timer) 
kommt man ebenfalls auf 1Hz.

Software Prescaler kann man auch immer machen.

Für einen 1Hz Takt kann man alles nehmen.
Gast #1905599
Lesenswert?

Hi
Ist wirklich nett, wie ihr eure Antworten verpackt..
>Leider komme ich mit dem Timer in Pascal noch nicht klar, daher kann ich
>den noch nicht einsetzen....
Wieviele von euch programmieren in Pascal ?
Würd mich mal interessieren.
Die Frage ist vielleicht etwas unglücklich gestellt, denn wenn ich einen 
Interrupt alle 500ms oder alle 100 ms habe, brauche ich ja nur eine 
Variable hochzählen und entsprechend bei >1 oder >9 Sekunden hochzählen. 
Das bedeutet, es gibt halt eine Zeitbasis von 2 oder 10 Hz. Wenn der 
Pascal-Compiler da nicht grad eine Wissenschaft draus macht, kann man 
sich getrost zurücklehnen, der Controller steckt das lässig weg und läßt 
sich auch noch genug Zeit für weitere Aufgaben.
Da ich µC's auch nicht in Pascal programmiere, kann ich leider nicht 
mehr zu sagen.
Gruß oldmax
Gast #1905600
Lesenswert?

ja, so mache ich es zur Zeit.
Das ganze dient einem Amperstundenzähler, der zumindest über 2 Tage 
hinweg halbwegs genau sein sollte.
Leider bekomme ich aber schon nach wenigen Stunden erhebliche 
Abweichungen...
Auf der gleichen Platine habe ich noch einen RTC (PCF8386 oder wie der 
sich schimpft) Den nutze ich derzeit aber wirklich nur für die Uhr....
Gast #1905626
Lesenswert?

ursprünglich AVRco, mit dem wäre das ganz einfach...
Jetzt habe ich mir aber die Vollversion von Mikropascal "gegönnt" und da 
ist leider nicht so viel pascal drin wie man erwarten sollte...vieles 
muss doch noch auf direktem Wege erledigt werden.. so das ich vermutlich 
doch gleich C hätte nehmen können...
Schade, ich habe hier etliche Quarze rumliegen, aber ich glaube kein 
4er...so ein Ärger

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren