Archiv verlassen und diese Seite im Standarddesign anzeigen : Takt verändern beim ATmega32
Hallo! Ich hab ein RN Control 1.4 mit AT mega32 und wollte den von 1 Mhz (Default, intern) auf 16 Mhz Quarz (extern) als Taktquelle umstellen. Laut dieser Anleitung hier http://www.mikrocontroller.net/articles/AVR_Fuses muss ich dafür das Fusebit (die Fusebits?) A987 auf 1111 stellen. Ich habe also BASCOM aufgerufen und es steht dort schon 1111. Ich habe die Fusebits allerdings nie verändert. Also müsste laut ATmega32-Datenblatt dort eigentlich 0001 stehen. Also meine Fragen:
Wie kann die 1111 dort hingekommen sein?
Wie kann ich testen, ob der Controller nun wirklich mit 16 Mhz arbeitet?
Wie kann ich testen, ob der Controller nun wirklich mit 16 Mhz arbeitet?Konfiguriere dir einen Timer so, daß er bei 16MHz einen 1s Takt liefert, und lass eine LED blinken.
Wenn sie dann jeweils 16s lang aus, und 16s lang an ist, dann läuft der Mega mit 1MHz statt mit 16.
Hab gerad mal bißchen mit dem Timer1 rumgespielt
#include <avr/io.h>
uint16_t i=0;
int main (void)
{
TCCR1B = (1<<CS12) | (1<<CS10); )
DDRC = 0xff;
PORTC = 0xFF;
while (1==1)
{
if (TCNT1 == 0x3FF) {i++;}
if (i==95) {PORTC=0x00;}
}
return 0;
}
Wenn ich anstatt
if (i=95) {PORTC=0x00;}
if (i=94) {PORTC=0x00;}
schreibe, gehen die LEDs sofort an.
Also:
<95: LEDs leuchten sofort nach Programmübertragung
>95: LEDs leuchten mit Verzögerung von ca. 5s
Dadrüber gehe es anscheinend linear weiter, also 200 dauert doppelt so lange wie 100, 400 doppelt so lange wie 200 etc.
Die 1 Hz-LED hab ich so versucht zu realisieren:
Ich zähle eine Zählvariable pro Timerdurchlauf um 1 hoch. Dann sollen alle LED ab- bzw. ausgeschaltet werden --> Blinken
while (1==1)
{
if (TCNT1 == 0x3FF) {i++;}
if (i==1000)
{
if (PORTC==0x00) {PORTC=0xFF;}
if (PORTC==0xFF) {PORTC=0x00;}
i=0;
}
}
Es leuchtet aber gar nichts. Bei dem if (i==1000) habe ich alle möglichen Werte probiert. Meine erste Rechnung ergab 15,3 Timerdruchläufe pro Sekunde. Also habe ich (if i==15) gemacht
Wo ist mein Denkfehler?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.