Forum: Mikrocontroller und Digitale Elektronik ATTINY2313 16Mhz


von Richard Brose (Gast)


Lesenswert?

Hallo Leute,

ich programmiere momentan an dem attiny2313.
Der benutzt aber von Haus aus einen Internen Oscillator mit 8Mhz.
Ich habe aber einen Quarz mit 16Mhz drangehängt.
Ich werde irgendwie nicht schlaue wie ich jetzt die fuses setzen muss
damit der den externen Clock nimmt.

Die Tabelle hab ich gefunden:

Table 2. Device Clocking Select(1)
Device Clocking Option                   |   CKSEL3..0
External Clock                           |   0000 - 0001
Calibrated Internal RC Oscillator 4MHz   |   0010 - 0011
Calibrated internal RC Oscillator 8MHz   |   0100 - 0101
Watchdog Oscillator 128kHz               |   0110 - 0111
External Crystal/Ceramic Resonator       |   1000 - 1111


Wie muss ich die CKSEL3-0 bits setzen?

Danke schön,
Richard

von Klaus2m5 (Gast)


Lesenswert?

Hallo Richard,

Du musst "External Crystal" auswählen (1000-1111). Die restlichen
Fuses müssen nach Table 4 für Frequenzen über 8MHz auf 111 gesetzt
werden - also musst Du 1111 programmieren.

!!! Aber Vorsicht !!! 1 bedeutet UNPROGRAMMED

Du musst Dir 110% sicher sein, dass Du verstehst, wie Dein Programmer
die Fuses setzt! Man kann sich blitzschnell aussperren.

Gruß, Klaus

von Richard Brose (Gast)


Lesenswert?

Danke erstmal,
damit ich 110% sicher bin hacke ich lieber nach ...
Ich programmiere mit PonyProg ... ich nehme bei CKSEL0,
CKSEL1,CKSEL2,CKSEL3 das häckchen weg und SUT1 auch kein Häckchen, nur
bei SUT0 ist das häckchen an.

Alles andere lasse ich so wie es ist. Richtig?

von Klaus2m5 (Gast)


Lesenswert?

Ja,

scheint O.K. zu sein.

von Richard Brose (Gast)


Lesenswert?

Danke.

Hab noch ne kleine Frage.
Ich brauche einen ziemlich genauen Takt von 1000 mSek bei 16Mhz.
Wie kann ich es machen? Am besten mit einem Timer. Wie errechne ihn ihn
genau?
Programmiere mit Winavr.

von Uwe (Gast)


Lesenswert?

Hi!
Ich suche gerade die TN2313def.inc und finde sie einfach nicht.
Kannst du sie eventuell mal anhängen, du müsstest sie ja haben.

Danke, Uwe

von Richard Brose (Gast)


Lesenswert?

Nein, ich habe die auch nicht gefunden. Hab aber einfach die AT90s2313
benutzt und es funktioniert.

von Uwe (Gast)


Lesenswert?

Hi!
So ein Mist, da muss doch aber einiges fehlen. Irgendwer muss die doch
aber haben?

MFG Uwe

von Richard Brose (Gast)


Lesenswert?

Vielleicht meldet sich einer der uns die Frage antworten kann.

von jornbyte (Gast)


Angehängte Dateien:

Lesenswert?

Bei Atmel ist sowas zu finden. Die wird aber auch bei der Install. vom
Studio mit entpackt.

von Richard Brose (Gast)


Lesenswert?

Danke. aber wie kann ich die mit WinAVR nutzen? da gibt es keine .inc
Dateien.

Und um auf die Frage zurück zu kommen:

Ich brauche einen ziemlich genauen Takt von 1000 mSek bei 16Mhz.
Wie kann ich es machen? Am besten mit einem Timer. Wie errechne ihn
ihn
genau?

von Ludwig W. (lordludwig)


Lesenswert?

wenn ich wüsste was "Takt von 1000 mSek" heißt dann könnte ich dir
helfen.

beoi mir sind 1000 mSek 1 Sekunde. Also willst du ein Takt von 1
Sekunde oder?

von Richard Brose (Gast)


Lesenswert?

Ja genau. Einen Takt von 1. Sekunde oder 1000 mSek.

von Tom (Gast)


Lesenswert?

Ganz einfach:
16 bit Timer nehmen, den Prescaler auf 256 setzen, dann ist eine Sek.
genau 62500 Ticks. Dann den Timer so konfigurieren, dass er bei
erreichen dieses Wertes (oder bei Null, das weiss ich nicht mehr so
genau) einen Interrupt auslöst und wieder von vorn startet.

Gruss

von Michael Prader (Gast)


Lesenswert?

Hallo!

Bei WinAVR finden sich die Headerdateien im Installationsverzeichnis
unter \avr\include\avr\. Für den tiny2313 ist dies iotn2313. Dort
kann man auch die teils verschiedenen Interrupt-Namen herauslesen.
Diese Datei sollte aber nicht direkt eingebunden werden, sondern
mittels der Compileranweisung
#include <avr/io.h>
am Beginn des Sourcecodes. Der MC-Typ muss dazu im Makefile
spezifiziert werden:
# MCU name
MCU = attiny2313

Lg
Michael

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.