Hallo,
ich habe das Problem ich habe einen Atmega328p aus einem Arduino Uno.
Diesen wollte ich nun ohne das Arduino Board einsetzen, also auf einer
eigenen Platine ohne externen Quarz. Ich habe zuerst aus Unwissenheit
einfach meinen Code drübergebügelt ohne an den Fuses was zu ändern. Dann
hat das Programm nicht funktioniert, daraufhin habe ich einen
Fuserechner verwendet um die Fuses zu ändern. Das hier war der avrdude
Befehl:
avrdude -c USBasp -p m328p -U flash:w:test.hex -U lfuse:w:0x62:m -U
hfuse:w:0xd9:m -U efuse:w:0xff:m
Das hat beim ersten Mal auch teilweise funktioniert bloß dann kam die
Meldung:
efuse was 0xff was changed to 7. Rechange? (Y/N)
sowas in der Art da hab ich dann ja gesagt. Danach hat er nichtsmehr
angzeigt und nach zwei Minuten habe ich das dann mit strg+c abgebrochen.
Jetzt kommt jedesmal diese Fehlermeldung:
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
mit -F hinten dran kommt das:
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude done. Thank you.
Hab ich den AVR nun ruiniert oder kann ich den noch retten?
Wie hätte ich es machen müssen? Kennt irgendwer ein gutes Tutorial für
ATmel Studio. Bisher kann ich nur mit der Arduino IDE umgehen und den
Code dort implementieren. Deswegen habe ich auch die Import Funktion
hergenommen.
Das ist mein Test Code.
1 | /*Begining of Auto generated code by Atmel studio */
|
2 | #include <Arduino.h>
|
3 |
|
4 | /*End of auto generated code by Atmel studio */
|
5 |
|
6 |
|
7 | //Beginning of Auto generated function prototypes by Atmel Studio
|
8 |
|
9 | void setup();
|
10 |
|
11 | void loop();
|
12 |
|
13 | //End of Auto generated function prototypes by Atmel Studio
|
14 |
|
15 |
|
16 | // This is the INT0 Pin of the ATMega328
|
17 |
|
18 | int sensePin = 2;
|
19 |
|
20 |
|
21 | void setup(){
|
22 |
|
23 | pinMode(sensePin, OUTPUT);
|
24 |
|
25 | digitalWrite(sensePin, LOW);
|
26 |
|
27 | }
|
28 |
|
29 |
|
30 | void loop(){
|
31 |
|
32 | while(true){
|
33 |
|
34 | digitalWrite(sensePin,HIGH);
|
35 |
|
36 | delay(10);
|
37 |
|
38 | digitalWrite(sensePin, LOW);
|
39 |
|
40 | }
|
41 |
|
42 | }
|