Forum: Compiler & IDEs 32Khz Signal erzeugen an Port B5 Mega128


von Hans Peter (Gast)


Lesenswert?

Hallo

Wie kann ich ein Signal erzeugen mit 32Khz.Dafür gibt es keinen Teiler.

Ich bekomme nur 16Khz oder 64 Khz hin.

Wie bekomme ich die 32Khz hin.

Mega 128 16Mhz extern Quarz.


Kann ich das Signal vom Uhrenquarz abnehmen wenn ja wie geht das????

Danke

von Peter D. (peda)


Lesenswert?

Hans Peter wrote:
> Wie kann ich ein Signal erzeugen mit 32Khz.Dafür gibt es keinen Teiler.
...
> Mega 128 16Mhz extern Quarz.


geht doch wunderbar:

16MHz / 32kHz = 500.

Also clear on compare bei 250 und Pin toggle.


Wo ist das Problem ?


Peter

von Michael U. (Gast)


Lesenswert?

Hallo,

der Uhrenquarz hätte auch 32768Hz, also fast 33kHz...

Gruß aus Berlin
Michael

von Hans Peter (Gast)


Lesenswert?

Hallo

Ja wie mache ich das??

DDRB |= (1<<PB5);
   OCR1A = 0x0500;
  OCR1B = 0x0000;
  OCR1C = 0x0000;
  TCNT1 = 0x0000;
  TCCR1A = 0x40;
  TCCR1B = 0x01;
  TCCR1C = 0x00;

Hier ist der Code für 16Khz.

aber wie bekomme ich eine 32 Khz Square Wave????

von Magnus Müller (Gast)


Lesenswert?

> Hier ist der Code für 16Khz.
>
> aber wie bekomme ich eine 32 Khz Square Wave????

Wie wäre es mit Peter Danneggers "Idee" (ich würde es eher als LÖSUNG 
bezeichnen)?

> geht doch wunderbar:
> 16MHz / 32kHz = 500.
> Also clear on compare bei 250 und Pin toggle.
>
> Wo ist das Problem ?

Gruß,
Magnetus

von Hans Peter (Gast)


Lesenswert?

ja aber wie setze ich es um??

OCR1A = 0xfa;
  OCR1B = 0x3e80;
  OCR1C = 0x3e80;
  TCNT1 = 0xc180;
  TCCR1A = 0x40;
  TCCR1B = 0x09;
  TCCR1C = 0x00;


so vieleicht??

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
Noch kein Account? Hier anmelden.