Hallo Leute, ich betreibe einen DS89C420 und habe eine Frage zum Timer0. Der uC wird mit einer Frequenz von 22118400 Hz betrieben. Es geht mir darum, dass ich den T0 (Mode 2, 8Bit ,autoreload) zum Erstellen eines Rechtecksignals verwenden möchte mit Bitraten von 1KBit .. ca. 10KBit. Alles darüber kriege ich problemlos hin, nur in meiner Bandbreite nicht. Vielleicht rechne ich da etwas falsch, bitte überprüft meine Rechnung: Der Timer2 wird als Baudraten Generator für SCI0 verwendet mit 115200 KBit/s. Also: T2: fxtal = 22118400 Hz fbase2 = fxtal / (2*16) = 691200 Hz Der notwendige Reloadwert beträgt also: div2 = fbase2 / 115200 = 6, heißt also die SFR für T2 werden mit -6 geladen. Nun zum T0, die fbase0 ist genauso hoch wie vom T2, ich dachte man teilt hier durch 12 nicht durch 8. Wie kann ich diesen Teiler beeinflussen? fbase0 = 22118400 / 8 = 691200 Hz div2 = fbase0 / 9600 = 72 Ok div2 = fbase0 / 4800 = 144 ok div2 = fbase0 / 2400 = 288 NOK Ich sehe nun folgende Möglichkeit: 1) Statt den 8bit Timer 16Bit nehmen, aber ich kappier nicht wie ich dann den Timerwert manuell nachladen kann (bei T0 16Bit gibt es ja kein auto-reload, oder?) 2) Den Teiler beim Timer0 (immer noch 8) erhöhen, aber wie? Über Tipps freu ich mich sehr! Viele Grüße Gregor
ups kleiner denkfehler: nochmal die rechnung T2: fxtal = 22118400 Hz fbase2 = fxtal / (2*16) = 691200 Hz Der notwendige Reloadwert beträgt also: div2 = fbase2 / 115200 = 6, heißt also die SFR für T2 werden mit -6 geladen. Nun zum T0, die fbase0 ist genauso hoch wie vom T2, ich dachte man teilt hier durch 12 nicht durch 8. Wie kann ich diesen Teiler beeinflussen? fbase0 = 22118400 / (2*16) = 691200 Hz div2 = fbase0 / 9600 = 72 Ok div2 = fbase0 / 4800 = 144 ok div2 = fbase0 / 2400 = 288 NOK Also nicht 8 sonder 32. Nun, wie kann ich diesen Teiler beeinflussen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.