Hallo, Ich hab ein Problem mit einem ATmega16: Hab ein Programm in BASCOM geschrieben hat auch geklappt mit dem identifizieren und dann hab ich aus versehen den Button "autoprogramm chip" erwischt und nun kann weder Bascom noch PonyProg nicht mehr die FuseBits auslesen "Device missing or unknown" Atmega 16 Programmiere über Parallelport Das Board http://www.mikrocontroller.com/de/avr-ctrl.php was soll ich machen?
Wenn der Atmega streikt, dann ist möglicherweise die Taktauswahl durch falsche FuseBits verstellt. Bei mir half das Anlegen einer Frequenz (da haben sogar 10kHz gereicht) an einen Quarz-Anschluss. Dann hat der Atmega wieder einen Takt, man kann programieren und Fuses verstellen. Achtung: Bei PonyProg-Fuses bedeutet ein Haken eine "0" Gruß Wolf(_1)
Wolf wrote: > Wenn der Atmega streikt, dann ist möglicherweise die Taktauswahl durch > falsche FuseBits verstellt. > > Bei mir half das Anlegen einer Frequenz (da haben sogar 10kHz gereicht) > an einen Quarz-Anschluss. > > Dann hat der Atmega wieder einen Takt, man kann programieren und Fuses > verstellen. Soll ich eine Frequenz am Quarz der am Board angebracht ist parallel dazu anlegen ? Kann ich die Frequenz durch ein anderes Board mit einem ATmega32 16MHz erzeugen so ähnlich wie hier Beitrag "Re: ATMega16 Fusebits" und könnte ich dieses Programm dazu verwenden?
1 | //--------------------------------------------------------------------------------------------------------------
|
2 | //Programmierer: (c) Trunes
|
3 | //Programm: Falsch gefuste Microkontroller wider herstellen
|
4 | //Datum: 29.Juni 2007
|
5 | //--------------------------------------------------------------------------------------------------------------
|
6 | |
7 | |
8 | /* ---- CPU CLOCK -------------------------------------------------------------------------------------------- */
|
9 | /* */
|
10 | #ifndef F_CP
|
11 | #define F_CPU 4000000UL
|
12 | /* Quarz mit 4 Mhz */
|
13 | #endif
|
14 | |
15 | |
16 | /* ---- Include Files ---------------------------------------------------------------------------------------- */
|
17 | /* */
|
18 | #include <stdint.h> /* ISO C99 Integer types */ |
19 | #include <avr/io.h> /* ATTINY I/O's */ |
20 | #include <util/delay.h> /* delay Lib. */ /* LCD Lib. */ |
21 | |
22 | |
23 | |
24 | /* ---- MAIN ------------------------------------------------------------------------------------------------- */
|
25 | |
26 | int main (void) |
27 | {
|
28 | |
29 | DDRB = (1 << DDB1); //DB1 vom "Rettungsmikrocontroller" |
30 | //an XTAL1 vom falsch gefusten Mikrocontroller
|
31 | |
32 | |
33 | /* ---- Prog. Schleife --------------------------------------------------------------------------------------- */
|
34 | while(1) |
35 | {
|
36 | PORTB |= (1<<PB1); //Ein |
37 | PORTB &=~ (1<<PB1); //Aus |
38 | }
|
39 | |
40 | |
41 | for (;;); |
42 | }
|
laut den Angaben sollte ich die FuseBits so setzen http://www.mikrocontroller.com/images/Fuses_8MHz_Ohne_Quarz.jpg
soll ich es einfach mal versuchen oder kann ich mir dabei etwas zerstören?
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.