Hey Leute,

ich bin noch relativ neu bei den Microcontrollern. Nun habe ich ein Beispielprojekt aus einem Buch (make: AVR programming)
probieren wollen aber das führt zu Problemen. Vorweg, ich nutze einen Atmega168A und als Oberfläche nutze ich Atmel Studio 7, als Kommandozeilentool AVRdude, als
ISP Programmer einen chinesischen USBasp.
In dem Beispiel im Buch wird der Prescaler von den standartmäßigen 1 MHz auf die volle Power gesetzt (8 MHz).

Das passiert über

#include <avr/power.h>
clock_prescale_set(clock_div_1);

nun ist die einmalige Ausführung des Programms anscheinend kein Problem. Sobald ich jedoch etwas neues flashen will, ist es nicht mehr möglich und ich bekomme

avrdude.exe: Device signature = 0x000102
avrdude.exe: Expected signature for ATMEGA168 is 1E 94 06
Double check chip, or use -F to override this check

Dies passiert, sobald ich den Chip schneller als 1 MHz takte möchte. Wenn ich den Chip langsamer takten möchte, sprich einen clock_div > 8 nutze, ist ein weiteres flashen
des Chips anscheinend Glückssache. Mal klappt es und mal nicht.

Kann es sein, dass die CPU des Chips irgendwie mit dem ISP-Programmer oder so abgestimmt sein muss, damit man flashen kann? Und wie löse ich dieses Problem?

Vielen Dank schonmal,
Mike