Gast
#1831840
Hallo allerseits!
Ich habe ein großes Problem mit meinem Atmega88PA. Der Mikrocontroller
steuert einen Funkchip. Ich programmiere über ISP mit einem STK 500, den
ich mit einer 9V Blockbatterie betreibe. Alles funktionierte soweit, bis
ich heute mit dem CLKPR "herumspielte". Ich wollte den Takt des
Mikrocontrollers im Programmablauf ändern mittels eines Datenpakets. Das
gelang mir auch, glaube ich. Mir ist es also möglich den Takt von 1MHz
bis 8MHz zu regulieren. Im Atmel-PDF steht auch ausdrücklich, dass man
den CLK während der Laufzeit anpassen darf. In keinem Fall ist der Takt
langsamer als 1MHz:
Clock = (ConfData[4] & 0x60) >> 5;
if (Clock == 0) { // 8MHz
CLKPR = 0x80;
CLKPR = 0x00;
}
else if (Clock == 1) { // 4MHz
CLKPR = 0x80;
CLKPR = 0x01;
}
else if (Clock == 2) { // 2MHz
CLKPR = 0x80;
CLKPR = 0x02;
}
else { // 1MHz
CLKPR = 0x80;
CLKPR = 0x03;
}
Wenn ich nun versuche den Mikrocontroller zu programmieren, kommt
folgende Fehlermeldung:
"Setting mode and device parameter .. ok
entering programming mode ..Failed
leaving programming mode.. OK"
Zusätzlich bekomme ich den Hinweis, dass die ISP-Frequenz geringer als
1/4 des Taktes sein muss. Erwähnenswert ist eventuell noch, dass die
Batterie nach der letzten erfolgreichen Programmierung leer war, was
dazu führte, dass WinAVR Studio nicht mal den Programmierer finden
konnte.
Ich habe dann die Batterie ausgewechselt, aber dann hatte ich das
Problem mit der oben erwähnten Fehlermeldung und dem Hinweis. Ich bin
mir sicher, dass der Mikrocontroller mit mindestens 1MHz läuft. Den Takt
kann ich sogar noch mittels Paketen verändern. Trotzdem habe ich
sämtliche ISP-Frequenzen probiert, die auswählbar waren und sogar
5,05kHz ausprobiert. Keine Änderung.
Ich habe auch einen anderen Computer ausprobiert, ohne Erfolg.
Habe ich jetzt den Mikrocontroller "kaputt gespielt" oder was ist los?
Gibts eine Möglichkeit den Mikrocontroller wieder auf Werkseinstellung
zu resetten?
Ich wäre für alle Gedanken bzgl. meines Problems sehr dankbar.