So Hallo, ich denke ich habe meinen Atmega verfuset, ich habe einen ISP programmer von Diamex Der avrdude Befehl -> -U lfuse:w:0xff:m -U hfuse:w:0xda:m -U efuse:w:0x05:m seit dem geht nichts mehr.In den Eimer oder kann ich noch was retten ? Gruß
:
Verschoben durch Moderator
Stefan schrieb: > So Hallo, > ich denke ich habe meinen Atmega verfuset, ich habe einen ISP programmer > von Diamex > > Der avrdude Befehl -> -U lfuse:w:0xff:m -U hfuse:w:0xda:m -U > efuse:w:0x05:m > seit dem geht nichts mehr.In den Eimer oder kann ich noch was retten ? > > Gruß Es geht um einen Atmel 328 8Mhz
Stefan schrieb: > In den Eimer oder kann ich noch was retten ? Wenn er HIGH-Voltage-Parallel-Programming unterstützt, kann man ihn mit einem STK500 oder neuer "wiederbeleben".
Ich denke mal nicht dass es so einer ist, welcher würde das können bzw. kann man empfehlen ? Das geschieht aber dann trotzdem via ISP, ohne zusätzlichen gedönns ?
Ich habe jetzt mal 2 neue 328 bestellt, aber mir ist noch was aufgefallen, ich hab wohl nur das l fuse falsch gesetzt und bin jetzt von internal clock auf external clock, der ist aber nicht eingelötet
Stefan schrieb: > auf external clock, der ist aber nicht eingelötet Dann klemm vorübergehend einen externen Takt dran. Wenn du nichts hast, nimm einen anderen ATmega, und lass ihn einen Takt ausgeben. Beim ATmega328 genügt es dafür, die low fuse von 0x62 (default) auf 0x22 zu setzen, dann tickert er seinen 1-MHz-Takt an PB0 heraus. Mit dem angeklemmten externen Takt kannst du die verbogene Fuse dann wieder zurückdrehen.
Hello, To unlock microcontroller you can use an block oscillator (1MHz), or a build one with only one CD4011 and quartz anythig between 500kHz and 20MHz. The signal will be applied on pin 9 of uC. Then you can restore to factory fusebits. Or, if know you may lock another uC it is better build HVPP rescue shield (from MightyOhm site) and use it in conjunction with Arduino. Best regards
nico schrieb: > To unlock microcontroller you can use an block oscillator (1MHz) Ein zweiter ATmega328 tut's aber genauso, und einen solchen hat er ja offenbar. (A second ATmega328 will do as well, and obviously, he's already got one of those.)
Ich hab noch einen Arduino mit 16mhz rumliegen, ich werde da einfach mal zwei Brücken zu meiner Platine legen und hoffen das es geht. Gruß
Vielen dank, es hat funktioniert. Zum Thema Fuse, die kann ich auch nachträglich oder als erstes auch setzen und die müssen nicht mit dem übertragen des Programmes gesetzt werden? Ich kam bisher eben noch nicht damit richtig in Berührung,und hatte mich damit beschäftigt weil dieses Board nicht richtig will. Als Beispiel ich wollte einen Ausgang toggeln, leider wurde er nur einmal eingeschaltet und nie wieder aus. Ich dachte dann vllt. passen die Fuse nicht. Gruß
Ja, die Fuses kannst du unabhängig vom Programm in einem separaten avrdude Aufruf setzen. Ich ändere die Fuses nur, wenn es unbedingt nötig ist. Die meisten meiner Anwendungen kommen mit den Standardeinstellungen aus. Die Taktfrequenz (Prescaler) kann man bei vielen AVR's auch per Software ändern.
Okay, und hast vllt ne Ahnung wieso das mit dem Toggeln nicht geht ?
1 | DDRD = (1<<PD7); |
2 | TCCR1B |= _BV(CS10); // Set up timer |
3 | |
4 | |
5 | while(1) |
6 | {
|
7 | if (TCNT1 >= 49999){ |
8 | PORTD ^= (1<<PD7); |
9 | TCNT1 = 0; // Reset timer value |
10 | }
|
11 | |
12 | }
|
:
Bearbeitet durch Moderator
Stefan schrieb: > Okay, und hast vllt ne Ahnung wieso das mit dem Toggeln nicht geht ? Woher weißt du, dass es nicht geht?
Stefan schrieb: > Weil die LED nicht blinkt bzw weniger leuchtet ? Weil du es einfach nicht merkst? Häng ein Oszilloskop dran, dann wirst du sehen, dass sie "blinkt".
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.