Forum: Mikrocontroller und Digitale Elektronik ATtiny13 Frequenz


von Christian D. (t1000hh)


Lesenswert?

schönen guten Abend,
ich bräuchte mal Hilfe für eine
Einstellung eines ATtiny13, ich möchte den ATtiny auf die interne 
Oscillation von 9,6MHz laufen lassen.

zum bespielen des µC´s verwende ich AVR Studio oder myAVR ProgTool,

meine erste Frage wäre worin liegt der Unterschied zwischen:
int. RC Osc. 9,6MHz; Start.up time 14 ck +0ms
int. (...)  +4ms
int. (...) +64ms?

und zweitens es ist auf (...)+0ms eingestellt
ich möchte die internen 9,6MHz nutzen da ich sie für die PWM brauche 
wieso erstmal egal....
also habe ich wie folgt Programmiert

CLKPR|=  (1<<CLKPCE)|(0<<CLKPS3)|(0<<CLKPS2)|(0<<CLKPS1)|(0<<CLKPS0);

es soll kein Prescaler verwendet werden also volle 9,6MHz verwendet 
werden

mit

#define F_CPU  9600000

wird die CPU Frequenz einsgestellt wird für die delay Funktion benötigt.

zum testen habe ich einfach mal eine blinkende LED genommen:

#define Signal      (1<<PB2)
#define Signal_an    PORTB |= Signal
#define Signal_aus    PORTB &= ~Signal
#define aus 0
#define an  1

void LED(int status)
{// starte Funktion
  if (status==an)
    {//starte if
      Signal_an;
    }//ende if

  if (status==aus)
    {//starte if
      Signal_aus;
    }//ende if
}// ende


int main(void)
{// starte main

DDRB=   Signal;

while(1) //Endlosschleife
{
  LED(an);
  _delay_ms(500);
  LED(aus);
  _delay_ms(500);
}

}// ende main



nun Leuchtet die LED nicht mit den gewünschten 1 Hz sonder leuchtet ca 
2s und ist 2s aus
Programmiere ich
#define 1200000

blinkt sie mit 1 Hz nun weiß ich nicht wo ich was falsch Eingestellt 
habe oder was ich vergessen habe, denn es ist scheinbar ja nicht 
umgestellt worden. Kann mir hier wer helfen?
danke in vorraus

von Christian D. (t1000hh)


Lesenswert?

kann mir keiner helfen?:(

von avr (Gast)


Lesenswert?

zu 1 : Anpassung an die Versorgungsspannung bzw. das Einschalten
       -> Datenblatt Tabelle 6.5

zu 2 : sicher die Fuse CKDIV8 gesetzt

avr

von Christian D. (t1000hh)


Lesenswert?

wie setze ich denn genau? bei AVR Studio?

von Christian D. (t1000hh)


Lesenswert?

ok habe den Tiny mal auslesen lassen und es ist auf 9,6MHz +0ms 
eingestellt und das Fuse CKDIV8  ist gesetzt dennoch läuft die Frequenz 
immer noch nicht mit 1 Hz ich weiß echt nicht mehr weiter.... bei F_CPU 
1200000 blinkt es mit 1 Hz also ist der Prescaler immernoch auf /8 
eingestellt richtig? aber wieso gehtd er nicht raus?

von Karl H. (kbuchegg)


Lesenswert?

Christian Dopatka schrieb:
> ok habe den Tiny mal auslesen lassen und es ist auf 9,6MHz +0ms
> eingestellt und das Fuse CKDIV8  ist gesetzt dennoch läuft die Frequenz
> immer noch nicht mit 1 Hz ich weiß echt nicht mehr weiter.... bei F_CPU
> 1200000 blinkt es mit 1 Hz also ist der Prescaler immernoch auf /8
> eingestellt richtig? aber wieso gehtd er nicht raus?

Weil CKDIV8 dafür sorgt, dass die 9.6Mhz erst mal durch 8 geteilt 
werden, ehe sie zur µC Versorgung benutzt werden.

Einfach die CKDIV8 ausschalten und du hast die vollen 9.6Mhz.

von Christian D. (t1000hh)


Lesenswert?

da CKDIV8  Werksintern eingestellt war habe ich den haken mal raus 
genommen, denke mal das es invertiert wurde nun Funktioniert es

von Peter R. (pnu)


Lesenswert?

Startup-time: Der Kontroller muss nach dem Anliegen der Spannung erst 
einmal etwas warten, bis der Taktoszillator stetig läuft. Besonders bei 
Quarzen am Kontroller dauert das recht lange.
Deshalb ist immer die längste startup-zeit (64ms)die sicherste Sache.

Nur in Sonderfällen braucht man einen Schnellstart des Kontrollers, dann 
kann man auf kürzere Zeiten übergehen, wenn man Bescheid weiß.

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.