Forum: Mikrocontroller und Digitale Elektronik ATtiny261A-PU Frequenzen stimmen nicht


von Steggesepp (Gast)


Lesenswert?

Hallo gemeinsam,
Mein Einstieg in die AVR-Welt habe ich mit einem ATtiny261-PU gewagt und 
auch schon recht viel Zeit mit dem Lesen der Dokumentation verbracht, um 
eine FAST PWM nutzen zu können.

Mein erster Test bestand darin, eine korrekte 50Hz PWM Frequenz 
einzustellen. Dabei bin ich noch nicht wirklich klar darüber, ob der 
Timer default nun 10-Bit oder 8-Bit durchläuft, ich nun aber von 8-Bit 
ausgehe und erstmal versuche eine 1Hz PWM Frequenz einzustellen (kann 
ich einfach mit stopuhr nachprüfen).

Meine Ausgangsrechnung:

fPWM = (clk/prescaler)/256

Setzt man den prescaler auf 4096 erhalte ich reel eine fPWM ~ 1Hz (Mit 
Stoppuhr nachkontrolliert, hab noch kein oszi) .. das entspricht aber 
einer clk-Frequenz von 1MHz. Ich dachte mein uC hat 8MHz intern als 
standard einstellung?


Schlussendlich ist mein C-Code aktuell dieser um wirklich 1Hz zu 
erreichen:
1
#include <avr/io.h>
2
#include <util/delay.h>
3
4
int main(void)
5
{
6
   DDRB = 0x03;
7
   TCCR1A = (1<<COM1A1) | (1<<PWM1A); //Activate PWM -> FAST MODE is default
8
   TCCR1B = (1<<CS13) | (1<<CS12) | (1<<CS10); //Prescaler CK/4096
9
   
10
   OCR1A = 10;  // Dutycycle setup
11
  while(1)
12
  {     
13
    //bling bling led
14
  }
15
}

Beachte ich etwas nicht?

ATtiny261A sheet: http://www.atmel.com/Images/doc8197.pdf

Falls ihr mir Hinweise geben könnt wäre ich sehr dankbar.

Grüße

von S. Landolt (Gast)


Lesenswert?

> Ich dachte mein uC hat 8MHz intern als standard einstellung?
Im Auslieferungszustand ist CKDIV8 gesetzt, also 8 MHz/8.

von Peter II (Gast)


Lesenswert?

Steggesepp schrieb:
> Beachte ich etwas nicht?
>
> ATtiny261A sheet: http://www.atmel.com/Images/doc8197.pdf

The device is shipped with CKSEL = “0010”, SUT = “10”, and CKDIV8 
programmed

CKDIV8 (1) 7 Divide clock by 8

-> 1Mhz

von Steggesepp (Gast)


Lesenswert?

Oh man, ich habe diese Stelle wirklich schon ein paar mal überflogen und 
wohl dennoch nicht realisiert. Vielen Dank euch!

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.