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
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
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?
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.
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
Nein, ich habe die auch nicht gefunden. Hab aber einfach die AT90s2313 benutzt und es funktioniert.
Hi! So ein Mist, da muss doch aber einiges fehlen. Irgendwer muss die doch aber haben? MFG Uwe
Bei Atmel ist sowas zu finden. Die wird aber auch bei der Install. vom Studio mit entpackt.
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?
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.