Für diesen Quarz brauch ich den Timer 1. Was muss ich da alles ändern??
Druckbare Version
Für diesen Quarz brauch ich den Timer 1. Was muss ich da alles ändern??
Hallo bertl100,
ja, du brauchst den Timer1.
Prescale 8
Timer-Startwert 19463
Die Änderungen sind in DCF77_soft.bas bzw. DCF77.bas und in der ISR im Hauptprogramm. Einfach Timer0 durch Timer1 ersetzen und Prescale und die Konstante Startwert anpassen.
Gruß Dirk
Für die Variable Startwert musste ich ein Integer definieren, da "const" nur 8 Bit Zahlen kann.
An der library sonst ist nichts zu ändern,oder?
Wie kommst du auf diesen Startwert? Mit dem Programm für die Timerkonfiguration komme ich auf 19455.
Hallo bertl100,
const ist es eigentlich egal, wie groß der Wert ist, also einfach:
Const Startwert = 19463 (In DCF77_soft.bas!!!)
(Ist ja keine Variable, sondern eben eine Konstante!)
Der Wert 19463 ist korrigiert um die BASCOM-typische push/pop Orgie, die bei jedem ISR-Aufruf abläuft, aber 19455 wird auch funktionieren.
Gruß Dirk
Kann ich in meiner Hauptschleife mit
If Dcfflags.4 = 1 Then
Gosub Anzeige_der_bascom_zeit
end if
im Sekundentakt die Sub für die Zeitanzeige aufrufen?
Laut Beschreibung ist dieses Flag für die Sekunden.
MFG
Bertl
Hallo bertl100,
... ne, geht so nicht.
Vorschlag:
Das braucht nur noch eine Bytevariable "Sekunde".Code:If Sekunde <> _sec Then
Cls
Gosub Anzeige_der_BASCOM_Zeit
Sekunde = _sec
End If
Gruß Dirk
Alles klar
Vielen Dank!
Hallo,
helft mir doch mal auf die Sprünge:
Wie berechnet ihr den Wert für Prescale und Startwert nach einem gewünschten Quarz??
Habe kein Hilfsprogramm, oder ähnliches gefunden. Ist mir irgendwie unklar.
Danke schon mal...
Andreas
Hallo
Hat jemand die Lib mit dem Modul von Reichelt am laufen? bei mir will es überhaupt nix tun.
Benutze das Pollin Board V2 "geht wunderbar" mit Atmega16-16PU und 8Mhz.
An dem Bsp. habe ich folgendes geändert-
in der Lib:
.equ DCF_Port = $12 ;$12 = Portd
.equ DCF_Pin = 7 ;7 = Pin 7
in der .bas
$regfile = "m16def.dat"
$crystal = 8000000
Config Timer0 = Timer, Prescale = 1024
Const Startwert = 61
@albundy thx für die Lib ;-)
P.S. ich bekomme als Status immer 3
cya Peacemaker
Hallo,
Portd ($12) ist in diesem Fall falsch, da bei Eingabe (DCF77) der Pind abgefragt wird.Zitat:
.equ DCF_Port = $12 ;$12 = Portd
.equ DCF_Pin = 7 ;7 = Pin 7
du musst DCF_Port = $10 einsetzen.