Forum: Mikrocontroller und Digitale Elektronik Arduino-AVR programmieren


von Dietrich L. (dietrichl)


Lesenswert?


von Walter Tarpan (Gast)


Lesenswert?

Ich habe auch irgendwann mit dem Lesen aufgehört und warte auf die 
Verfilmung.

von Martin F. (martin_f70)


Lesenswert?

Ich stelle jetzt mal etwas klar!
Diejenigen, die mir NICHT helfen wollen und nur irgendwelche Schei** 
labern, DÜRFEN JETZT IHRE FRESSE HALTEN und nicht in den Thread 
schauen!!!

von NaNa_JaJa (Gast)


Lesenswert?

Wer aufgibt kann den anderen beim verlieren zusehen ...

von Uwe B. (boerge) Benutzerseite


Lesenswert?

...so jetzt mal angemeldet, weil das Ding hier sonst nicht mehr lesbar 
ist.

Einfache Frage, wie ist RESET beschaltet?

Guesse Uwe

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Martin Fischer schrieb:
> Ich stelle jetzt mal etwas klar!
> Diejenigen, die mir NICHT helfen wollen und nur irgendwelche Schei**
> labern, DÜRFEN JETZT IHRE FRESSE HALTEN und nicht in den Thread
> schauen!!!

...und nimm dich mal zurück, die meisten Leute wollen dir helfen. Die 
200 Beiträge sind nicht nur rumgetrolle! Leider hast du dich bis jetzt 
als lern- und beratungsresistent erwiesen... Und das provoziert ein paar 
Spitzen!

: Bearbeitet durch User
von Martin F. (martin_f70)


Lesenswert?

Ja ok sorry aber ich versuche zu lernen und manche sind hat nicht 
sonderlich freundlich...
Reset ist mit Pullup 10kOhm an +5V und mit dem Arduino Pin verbunden...
Reset am Arduion ist mit 10uF Elko an GND

von Reinhard Kern (Gast)


Lesenswert?

Martin Fischer schrieb:
> Reset am Arduion ist mit 10uF Elko an GND

Das sagt du jetzt, nach mehr als 200 Posts? und wieso zum Teufel ist der 
Elko in deinem Stromlaufplan nicht enthalten? Wenn da schon nichts 
stimmt, ist doch jede Diskussion sinnlos.

Gruss Reinhard

von Martin F. (martin_f70)


Lesenswert?

Hä???

von Cyblord -. (cyblord)


Lesenswert?

Reinhard Kern schrieb:
> Martin Fischer schrieb:
>> Reset am Arduion ist mit 10uF Elko an GND
>
> Das sagt du jetzt, nach mehr als 200 Posts?

Naja ich seh da aber jetzt kein Problem drin, wenn der über nen Elko an 
GND geht. Ist ja auch bloß der Arduino, das ist da sowieso auf der 
Platine denk ich mal. Reset der Zielschaltung ist ja ok, mit PullUp an 
5V usw.

gruß cyblord

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Lese dir das durch:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

Baue deine Zielschaltung so, wie dort beschrieben auf (ohne 
irgendwelches anderes Zeuge wie LEDs etc., einen Quarz o.a. brauchst du 
auch erst mal nicht). Schließe auch den 47 oder 100nF zwischen RESET und 
Masse an. Dann nochmal probieren.

Wenn es nicht funktioniert, melde dich hier mit folgenden Informationen:
* aktueller Schaltplan (nicht Foto!)
* vollständige Fehlermeldung, bei welchem (vollständigen) Kommando
* die Erkenntnisse, die du durch selbstständige Fehleranalyse schon 
gewonnen/gelesen/gefunden hast!

Wenn du dann noch einen vernünftigen Ton, vollständige Sätze, dabei 
verwendet, wird dir auch geholfen werden.

Gruss Uwe

: Bearbeitet durch User
von Reinhard Kern (Gast)


Lesenswert?

Martin Fischer schrieb:
> Reset ist mit Pullup 10kOhm an +5V und mit dem Arduino Pin verbunden...
> Reset am Arduion ist mit 10uF Elko an GND

cyblord ---- schrieb:
> Ist ja auch bloß der Arduino

Wenn das so ist wie du meinst, ist es jedenfalls sehr missverständlich 
formuliert, es war ja nach der Steckerbeschaltung gefragt. 
Wahrscheinlich ist ihm überhaupt nicht klar, dass das 2 verschiedene 
Resetleitungen sind.

Gruss Reinhard

von Martin F. (martin_f70)


Lesenswert?

Klar!
ich wusste blos nicht welche er jetzt wollte!

von Sebastian W. (wangnick)


Lesenswert?

Ralph S. schrieb:
> avrdude -c avrisp
> avrdude -c arduino
> versucht er die ARDUINO - Platine zu flashen .... uuuuuuuund nicht den
> ATmega8

Nein, Ralph. Das wäre bei -p, nicht bei -c.

Martin Fischer schrieb:
> Die Arduino-SOftware hat mit Burn Bootloader wie es im Tutorial erklärt
> ist verfused!!!! Wie kann ich ihn jetzt wieder reparieren???

Arduino Software und Burn Bootloader ist gar nicht gut. Du wolltest doch 
avr-gcc zum Programmieren und Arduino-als-ISP zum Flashen benutzen, da 
stört der Bootloader doch nur.

Dazu kommt das Problem, das die Arduino-Umgebung bei Burn Bootloader 
auch die Fuses umprogrammiert! Deswegen funktioniere die weitere 
Kommunikation mit dem Atmega auch danach wieder nur mit externem Takt. 
Siehe http://arduino.cc/en/Hacking/Bootloader. Da hast du einen Schritt 
zu viel gemacht.

Check doch mal wie die Fuses des Atmega328p jetzt gerade gesetzt sind 
(höchstwahrscheinlich auf externer Quarz hoher Frequenz) und gib uns die 
Resultate.

Aber kein Problem. Du kannst ja mit dem externen Takt die Fuses des 
Atmega328p mit avrdude immer noch auf die Standard-Werte zurücksetzen, 
oder du schliesst deinen externen Quarz an.

Zurück zum Atmega8: Welche Version des ArduinoISP.ino benutzt du 
zurzeit? Die von adafruit die ich dir empfohlen hatte? Eventuell liegt 
es da dran ...

LG, Sebastian

von Martin F. (martin_f70)


Lesenswert?

Wie kann ich im AVR-Studio den Arduino als Programmer einstellen und 
dann den ATmega328p programmieren?

von Martin F. (martin_f70)


Lesenswert?

Ich muss aber die von Adafruit nutzen, wegen dem Rechteck-Takt, sonst 
kommt immer:
Device signature = 0x000000
Kann ich euch die mit diesem Takt die Fuses sagen und ihr sagt mir dann 
die Standard damti es auch wieder normal funktioniert?

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> Ok. er läuft jetzt wieder, habe den Takt angelegt, aber hier
> error:
> avrdude -c avrisp -P COM3 -b 19200  -p m328p -U flash:w:main.hex:i
>
> avrdude: AVR device initialized and ready to accept instructions
>
> Reading | ################################################## | 100%
> 0.05s
>
> avrdude: Device signature = 0x1e950f
> avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
> performed
>
>          To disable this feature, specify the -D option.
> avrdude: erasing chip
> avrdude: reading input file "main.hex"
> avrdude: writing flash (102 bytes):
>
> Writing |                                                    | 0% 0.00s
> avrdude: stk500_paged_write(): (a) protocol error, expect=0x14,
> resp=0x00
> avrdude: stk500_cmd(): programmer is out of sync
> make: *** [flash] Error 1

Kurze Frage: Hast du dieses main.hex für den Atmega328p erzeugt?

LG, Sebastian

von Pontius P. (pontiuspilatus)


Lesenswert?

So kürz vor Schluss wird das noch Topic des Jahres..

Martin, eigentlich machst du nichts falsch. Du hast ein Schaltung mit 
deine Arduino gebaut und jetzt wills du die ohne Arduino laufen lassen. 
Ist ja alles richtig. Gut, an dein Aufbau fehlt noch was Erfahrung, aber 
wenns lauft, was solls.

Das Problem ist nur das dir ein gewisse Basis fehlt und das du nicht das 
richtige Material (Programmer) hast. Dann muss man sich behelfen mit 
Alternativen und genau das ist im Anfang fatal. Naturlich ist das auch 
ein finanziele Sache bei einem 16-jahrige. Aber eben, in Prinzip haben 
wir alle so angefangen.

Aber so wie ich das sehe auf deine Fotos willst du irgendwie ein oder 
zwei Leds blinken lassen. Das ist beim Arduino Tutorial eins. Dann 
willst du deine Arduino benutzen als Programmer, das ist Arduino 
tutorial 36, oder sowas.
Es gibt ja nicht um sonst noch 34 Tutorials dazwischen.
Was alle hier meinen zu sagen ist; bleib erst mal beim Arduino, auch 
wenn ein blinkende Led langweilig ist wenn mann alle andere Projekte 
hier sieht.
Aber ich nehme an du bist noch in der Schule und beim Mathematik bist du 
ja auch nicht gleich in der fünfte klasse eingestiegen, oder?

Statt hier tagelang hin und her zu schreiben solltest du lesen, lesen 
und noch mehr lesen. Ich verspreche dir; irgendwann macht es click! Auch 
wenn wir jetzt alle zusammen deine Atmega im Gang kriegen verstehst du 
immer noch nicht was jetzt genau gegangen ist.

Dann hast du noch nach gute Einstiegsbucher gefragt; Dann frag den 
Weihnachtsmann mal nach den "AVR-Mikrokontroller-Lehrbuch" wenn du 
wirklich in der Theorie interessiert bist, so wie du sagst.

Wenn ich 16 war, war ich ich auch nicht so interessiert in Theorie und 
das bereuhe ich bis heute, glaub mir.

von Martin F. (martin_f70)


Lesenswert?

LEUTE!!!
ES funktioniert !!!!
Keine Ahnung, die LED Blinkt!!!
Kann mir nur noch jemand die Fuses wieder richtig machen?

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> Wie kann ich im AVR-Studio den Arduino als Programmer einstellen
> und dann den ATmega328p programmieren?

Das geht glaube ich nicht. Du hast nur die Wahl zwischen a) einen 
Programmer besorgen der von AVR-Studio unterstützt wird, b) WinAVR roh 
benutzen, oder c) die Arduino-Umgebung benutzen.

LG, Sebastian

von Pontius P. (pontiuspilatus)


Lesenswert?

Ich werd bekloppt!

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> LEUTE!!!
> ES funktioniert !!!!
> Keine Ahnung, die LED Blinkt!!!
> Kann mir nur noch jemand die Fuses wieder richtig machen?

Gratuliere!

Bzgl der Fuses: Wie willst du sie denn haben? Externer Quarz (16MHz) 
oder interner Takt (8MHz)?

LG, Sebastian

von Martin F. (martin_f70)


Lesenswert?

Interner Quarz!
Und jetzt funktioniert es irgendwie doch nicht mehr, egal, erstmal die 
Fuses, ich probiere noch herum :D

von Paul Baumann (Gast)


Lesenswert?

Pontius Pilatus dachte:
>Ich werd bekloppt!

Jeder hat auf seine Weise
eine ganz spezielle Meise!
;-)

MfG Paul

von Pontius P. (pontiuspilatus)


Lesenswert?

222 !!! Beitrage für ein Blinkende Led....
Ist rekordverdachtig.
Wenn ich Moderator wäre hätte ich dir ein Lifetime Premium Abo 
geschenkt!

von Ralph S. (jjflash)


Lesenswert?

Martin Fischer schrieb:
> Ich stelle jetzt mal etwas klar!
> Diejenigen, die mir NICHT helfen wollen und nur irgendwelche Schei**
> labern, DÜRFEN JETZT IHRE FRESSE HALTEN und nicht in den Thread
> schauen!!!

Dir wurde mehrfach geholfen, oft sogar, nur du... zensiert

Mal meldet sich dein neuer Controller, mal nicht !!!! Immerhin

Stützkondensator erzähl ich jetzt erst mal gar nicht, da gibt es noch 
eine Einstellung für AVRDUDE, die den ISP-Takt vorgibt... war glaub ich

-B

(das... weiß ich allerdings nicht ganz genau).

Versuch, nachdem dein 328er geht... das mal mit dem Programm von mir...

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> Interner Quarz!
> Und jetzt funktioniert es irgendwie doch nicht mehr, egal, erstmal die
> Fuses, ich probiere noch herum :D

Wie stehen zur Zeit denn die Fuses?

avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v

LG, Sebastian

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Sebastian Wangnick schrieb:
> Ralph S. schrieb:
>> avrdude -c avrisp
>> avrdude -c arduino
>> versucht er die ARDUINO - Platine zu flashen .... uuuuuuuund nicht den
>> ATmega8
>
> Nein, Ralph. Das wäre bei -p, nicht bei -c.
>
... ich glaub es nicht, ich guck nicht mehr rein, denn:

Ich weiß nicht wie oft ich schon von Hand mit AVRDUDE aus der 
Kommandozeile etwas geflasht habe... wenn ich etwas ganz ganz ganz genau 
weiß, dann ist es das:

-c programmername
-p partname
-P Port

oder auch:

-c avrisp ===> Programmer ist ein AVRISP
-c arduino ==> Programmer ist der Bootloader von Arduino (STK500 
Protokoll)

wenn er ... statt -c avrisp (bei funktionierender Verbindung) -c arduino 
eingibt...

dann wird das Arduinoboard abstürzen, weil das darin enthaltene AVRISP 
Programm nicht mehr aktiv ist und versucht sich selbst zu überschreiben 
!

Ich glaubs wirklich nicht !

Er sollte.... mal wirklich hergehen... ein EINFACHES Hexfile nehmen und 
dieses in den Controller flashen... vielleicht sogar mal OHNE MAKE und 
gedöns ...

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Martin Fischer schrieb:
> Interner Quarz!
> Und jetzt funktioniert es irgendwie doch nicht mehr, egal, erstmal die
> Fuses, ich probiere noch herum :D

Falsch!

Überdenke folgende Fragen und suche (und schreibe hier) die Antworten?

Was hast du getan, dass es geblinkt hat?
Warum blinkt es jetzt nicht mehr?

Vorher macht alles weitere keinen Sinn!

Grüße Uwe

PS.: und ich hole mir schon mal ein Bier aus dem Keller und suche eine 
Tüte Chips in den Vorräten meiner Tochter raus... ;-)

von Ralph S. (jjflash)


Lesenswert?

... uuuuuuuuuuund ... grundsätzlich sollte er von den Fuses die Finger 
lassen, ich kann darin auch noch etwas anderes wie interner / externer 
Takt einstellen....

By the way: Die AVR-Controller haben keinen "internen Quarz", sie haben 
einen internen RC - Rechteckgenerator (Widerstand-Kondensator) ... die 
in aller Regel min. 3% Toleranz haben .. und ihre Schwingfrequenz auch 
noch mit der Temperatur ändern.

Ab dem Moment, ab dem er zum ersten mal eine Verbindung hinbekommen 
hat... sollte er mal AVRDUDE von Hand aufrufen .. die FUSES ... L E S E 
N ... auf keinen Fall schreiben ... und verifizieren auf welcher 
Taktquelle das steht !

Mann Mann Mann

von Sebastian W. (wangnick)


Lesenswert?

Ralph S. schrieb:
> wenn er ... statt -c avrisp (bei funktionierender Verbindung) -c arduino
> eingibt...
>
> dann wird das Arduinoboard abstürzen, weil das darin enthaltene AVRISP
> Programm nicht mehr aktiv ist und versucht sich selbst zu überschreiben
> !

Ah, so, die Gefahr besteht also, danke für die Erklärung. 
Glücklicherweise hat Martin aber ja den 10uF-Elko am Arduino-Reset, so 
dass avrdude gar nicht über DTR-Reset an den Bootloader kommen kann. 
Oder?

LG, Sebastian

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Ralph S. schrieb:
> By the way: Die AVR-Controller haben keinen "internen Quarz", sie haben
> einen internen RC - Rechteckgenerator (Widerstand-Kondensator) ... die
> in aller Regel min. 3% Toleranz haben .. und ihre Schwingfrequenz auch
> noch mit der Temperatur ändern.

nun verwirre ihn nicht gleich wieder: in dem schwarzen Ding ist etwas, 
was einen Takt erzeugt und gut ist (erst mal).

Er soll erst mal erzählen, warum es kurz mal funktioniert hat und jetzt 
nicht mehr...

Grüße Uwe

von Martin F. (martin_f70)


Lesenswert?

ICh weiß nicht genau wodurch es plötzlich geblinkt hat, aber als ich 
nochmal raufladen woltle ging es nicht mehr ...

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Martin Fischer schrieb:
> ICh weiß nicht genau wodurch es plötzlich geblinkt hat,

falsche Antwort! Nachdenken, du bist der einzige, der es weis. Wir sind 
keine Hellseher!

von Martin F. (martin_f70)


Lesenswert?

Ich habe mit dem Atmel-Studio rumgespielt und mal ein Assembler-Blink 
mit Hex generiert und raufgeladen, dann am Arduino den Clock-Pin 
rausgezogen und wieder reingesteckt und dann gings...

von Martin F. (martin_f70)


Lesenswert?

Ok, ich weiß wie ich es geschafft habe!!!!

von Martin F. (martin_f70)


Lesenswert?

Also:
Wenn ich eins Hochlade, dann passiert in diesem Uploading Programm von 
Ralph :"Flashvorgang beendet...", es passiert aber nichts....
Wenn ich jetzt den Clock-Pin ziehe und mit diesem Programm die Fuses 
lese, dann kommt: "FEHLER - Falscher AVR Controller gewählt"
Wenn ich jetzt den Clock-Pin wieder reinstecke, dann !!!! Blink die LED 
an PB0 und leuchtet an PB1...

von Sebastian W. (wangnick)


Lesenswert?

Ja, dann ist doch alles klar ... :)

Martin, du solltest jetzt erst einmal diese Krücke mit dem externen Takt 
beheben. Also: Wie stehen zur Zeit die Fuses?

-> avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v

LG, Sebastian

von Martin F. (martin_f70)


Lesenswert?

avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v

Hier:
1
avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
         Copyright (c) 2007-2009 Joerg Wunsch
4
5
         System wide configuration file is "D:\WinAVR\bin\avrdude.conf"
6
7
         Using Port                    : COM3
8
         Using Programmer              : avrisp
9
         Overriding Baud Rate          : 19200
10
         AVR Part                      : ATMEGA328P
11
         Chip Erase delay              : 9000 us
12
         PAGEL                         : PD7
13
         BS2                           : PC2
14
         RESET disposition             : dedicated
15
         RETRY pulse                   : SCK
16
         serial program mode           : yes
17
         parallel program mode         : yes
18
         Timeout                       : 200
19
         StabDelay                     : 100
20
         CmdexeDelay                   : 25
21
         SyncLoops                     : 32
22
         ByteDelay                     : 0
23
         PollIndex                     : 3
24
         PollValue                     : 0x53
25
         Memory Detail                 :
26
27
                                  Block Poll               Page
28
      Polled
29
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  Max
30
W   ReadBack
31
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
32
-- ---------
33
           eeprom        65     5     4    0 no       1024    4      0  3600  36
34
00 0xff 0xff
35
           flash         65     6   128    0 yes     32768  128    256  4500  45
36
00 0xff 0xff
37
           lfuse          0     0     0    0 no          1    0      0  4500  45
38
00 0x00 0x00
39
           hfuse          0     0     0    0 no          1    0      0  4500  45
40
00 0x00 0x00
41
           efuse          0     0     0    0 no          1    0      0  4500  45
42
00 0x00 0x00
43
           lock           0     0     0    0 no          1    0      0  4500  45
44
00 0x00 0x00
45
           calibration    0     0     0    0 no          1    0      0     0
46
 0 0x00 0x00
47
           signature      0     0     0    0 no          3    0      0     0
48
 0 0x00 0x00
49
50
         Programmer Type : STK500
51
         Description     : Atmel AVR ISP
52
         Hardware Version: 2
53
         Firmware Version: 1.18
54
         Topcard         : Unknown
55
         Vtarget         : 0.0 V
56
         Varef           : 0.0 V
57
         Oscillator      : Off
58
         SCK period      : 0.1 us
59
60
avrdude: AVR device initialized and ready to accept instructions
61
62
Reading | ################################################## | 100% 0.09s
63
64
avrdude: Device signature = 0x1e950f
65
avrdude: safemode: lfuse reads as FF
66
avrdude: safemode: hfuse reads as DA
67
avrdude: safemode: efuse reads as 5
68
69
avrdude: safemode: lfuse reads as FF
70
avrdude: safemode: hfuse reads as DA
71
avrdude: safemode: efuse reads as 5
72
avrdude: safemode: Fuses OK
73
74
avrdude done.  Thank you.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

mit:

avrdude -c avrisp -P COM3 -b 19200  -p m328p -U lfuse:w:0x62:m -U 
hfuse:w:0xd9:m

bekommst du das schwarze Ding ert mal wieder auf dei Defaultwerte.

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> avrdude: safemode: lfuse reads as FF
> avrdude: safemode: hfuse reads as DA
> avrdude: safemode: efuse reads as 5

Ok. Schau mal ins Datenblatt, oder einfacher 
http://www.engbedded.com/fusecalc: Du hast einen externen Quarz mit 65ms 
Einschwingzeit, einen unnützen Boot-Reset-Vector, und Brown-Out bei 
2.7V.

Jetzt vorsichtig, und in einer Zeile:
avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v -U lfuse:w:0xe2:m -U 
hfuse:w:0xd9:m -U efuse:w:0xff:m

Dadurch stellst du die Fuses wieder auf die Standardwerte, mit einer 
Ausnahme: Der interne Takt wird nicht mehr durch 8 auf 1MHz geteilt, 
sondern läuft mit vollen 8MHz.

Viel Glück und Daumen gedrückt ...

LG, Sebastian

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Sebastian Wangnick schrieb:
> Jetzt vorsichtig, und in einer Zeile:
> avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v -U lfuse:w:0xe2:m -U
> hfuse:w:0xd9:m -U efuse:w:0xff:m

NEIN, das sind die Defaults für einen Mega8, er hat derzeit einen 
Mega328 in der Schaltung!

Uwe

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Hallo Uwe,

schauen wir beide in dieselbe http://www.atmel.com/Images/doc8161.pdf 
Table 27-6, 27-8 und 27-9?

LG, Sebastian

von Uwe B. (boerge) Benutzerseite


Lesenswert?

ich mache es mir einfacher und schaue http://www.engbedded.com/fusecalc

Grüße Uwe

von Sebastian W. (wangnick)


Lesenswert?

Ja, und? Was ist nun für den Atmega328P falsch an meinen vorgeschlagenen 
Werten?

Der Unterschied zwischen deinem und meinem Vorschlag ist ja eh nur das 
MSbit der lfuse, also der CKDIV8, wie von mir erwähnt ...

LG, Sebastian

: Bearbeitet durch User
von Uwe B. (boerge) Benutzerseite


Lesenswert?

...du hast von Standardwerten geredet und die sind beim 328p halt l 0x62 
und h 0xd9

(ohne jetzt darüber nachzudenken, was für l 0xe2 anders sein würde...)

Grüße Uwe

von Uwe B. (boerge) Benutzerseite


Lesenswert?

...aber was blubbern wir rum, was macht denn unser Martin eigentlich ;-)

von Sebastian W. (wangnick)


Lesenswert?

Uwe Berger schrieb:
> ...du hast von Standardwerten geredet und die sind beim 328p halt
> l 0x62
> und h 0xd9

Puh, und ich dachte schon, ich hätte Martin in die Wüste geschickt ...

LG, Sebastian

von Martin F. (martin_f70)


Lesenswert?

Ich teste grade ^^

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Uwe Berger schrieb:
> (ohne jetzt darüber nachzudenken, was für l 0xe2 anders sein würde...)

habe mal probiert: kein Unterschied ;-)

...also Martin, was ist, mein Bier wird warm!

Uwe

von Sebastian W. (wangnick)


Lesenswert?

Hallo Martin,

sobald der externe Takt nicht mehr vonnöten ist, solltest du wieder auf 
das Original ArduinoISP.ino auf Arduino-1.0.5 zurückfallen. Die Version 
von Adafruit die den Takt erzeugt ist schon recht alt, und in 1.0.5 sind 
einige Probleme behoben die eventuell manche der sync-Fehler erklären 
die du beobachtet hast ...

LG, Sebastian

: Bearbeitet durch User
von Martin F. (martin_f70)


Lesenswert?

ES FUNKTIONIERT!!!
DANKE!!!!

von Martin F. (martin_f70)


Lesenswert?

Können wir noch meinen ATmega8 reparieren?

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Martin Fischer schrieb:
> Können wir noch meinen ATmega8 reparieren?

damit die Lernkurve etwas davon hat:
* überlege selber wie
* schaue hier nach: http://www.engbedded.com/fusecalc

Uwe

von Martin F. (martin_f70)


Lesenswert?

Ok, danke erstmal
aber woher weiß ich welche clock ich dort nehmenmuss?
was muss ich nehmen wenn ich nen 16MHz Quarz nehme?

von Uwe B. (boerge) Benutzerseite


Lesenswert?

siehe Datenblatt und die zahllosen Tutorials! Ohne die zu lesen wirst du 
beim nächsten Schritt wieder ahnungslos darstehen.

Uwe

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> Ok, danke erstmal

Ja, das ist das Schöne an der Computerwelt, dass alles logisch ist und 
sich alle Probleme herleiten und lösen lassen.

> aber woher weiß ich welche clock ich dort nehmenmuss?
> was muss ich nehmen wenn ich nen 16MHz Quarz nehme?

Erst mal musst du den Atmega8 überhaupt wieder ansprechen können. Was 
passiert denn bei:
1
avrdude -c avrisp -P COM3 -b 19200  -p m8 -v -v
mit dem Adafruit ArduinoISP.ino auf dem Arduino und dem Takt an Atmega8 
XTAL1?

Immer noch yikes - signatur 0x000000 oder so?

LG, Sebastian

: Bearbeitet durch User
von Martin F. (martin_f70)


Lesenswert?

Gucke ich morgen, bin erstmal schlafen, nacht!

von F. F. (foldi)


Lesenswert?

Martin Fischer schrieb:
> Ok. Ich werde mir 2 kaufen, das Kostet dann 10€, bissl teuer, ne?

Bestell die mal beim Markus. Der ist hier auch vertreten und hat super 
faire Preise.
www.guloshop.de

Hab gerade noch mal meinen "mySmartUSB light" ausprobiert und er 
funktioniert mit dem Atmel Studio 6.12.

Lass dir mal ein paar Euros von deinen Eltern geben und bestell dir die 
Sachen.
Dann fange noch mal von vorne an.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Martin Fischer schrieb:
> Gucke ich morgen, bin erstmal schlafen, nacht!

bewundernswert mit welcher Konsequenz er das Ding mit dem Schlafen 
durchzieht. Wenn das mal meine Tochter so machen würde...

von franz (Gast)


Lesenswert?

Übrigens: Martin hat das in diesem Thread gar nicht so schlecht gemacht. 
Trotz einiger bissiger Kommentare ist er nie ausfallend geworden und hat 
es am Schluss geschafft.

von F. F. (foldi)


Lesenswert?

Allein seine Hartnäckigkeit muss belohnt werden und den fordernden Ton 
hat er nun auch etwas gemäßigt.
Dadurch hab ich wenigstens den mySmartUSB light wieder aktiviert. Ist 
ein toller 'im Bett Programmer', weil er die fünf Volt speisen kann.
Da ich nachts immer noch lese und dann vielleicht mal schnell was 
ausprobieren möchte, eignet der sich gut um das eben auf zu spielen.
Anfangs klappte der nicht vom Studio aus, lag aber wohl dran, dass der 
erst kaputt war. Hatte mir dann noch einen bestellt, doch vorher kam der 
Atmel und dann hatte ich nur noch den benutzt. So ist es wieder eine 
Erweiterung und ich kann Martin den ruhigen Gewissens empfehlen.

von Friedrich (Gast)


Lesenswert?

Irgendwie ist es unterhaltsame... sonst wären nicht mehr so viele dabei.
Er hätte aber auch schon vor 200 Beiträgen und 3 Tagen am Ziel sein 
können.
Die Vorschläge wurden alle in den ersten 30 Beiträgen schon gemacht...

von Friedrich (Gast)


Lesenswert?

Wünsch dir nen MySmartUSB light zu Nikolaus oder Weihnachten, damit tust 
du dir auf jeden Fall einen Gefallen, wenn du weiter mit AVRs arbeiten 
möchtest!

von Mitleser (Gast)


Lesenswert?

Friedrich schrieb:
> Irgendwie ist es unterhaltsame... sonst wären nicht mehr so viele dabei.
> Er hätte aber auch schon vor 200 Beiträgen und 3 Tagen am Ziel sein
> können.
> Die Vorschläge wurden alle in den ersten 30 Beiträgen schon gemacht...

Allemal... Habe gestern daruf gewartet wann er aufgibt. allerdings ist 
es verdammt schwierig hier in diesem Forum cooll zu bleiben. ich habe es 
selbst erlebt, wenn man mit Fragen ankommt. Hab am Thread-Anfang schon 
Martins dicke Haut bewundert. Hier sind viele Klugscheißer unterwegs, 
die sich nicht in die Lage des fragenden versetzen können. Z.B. kann ein 
Neuling in egal welchem Gebiet erst mal gar nicht wissen welche angaben 
für die Problemlösung von Belang bzw. wichtig sind. In diesem Forum wird 
das aber von vielen vorausgesetzt.
Martin - gut gemacht!

von Friedrich (Gast)


Lesenswert?

Man sollte sich als hilfesuchender nur nicht so wehement gegen Hilfe 
sträuben...
Man sollte die Vorschläge lesen, versuchen zu verstehen, ggfs. 
nachfragen und dann ausprobieren und die Ergebnisse schreiben.
Nur so kommt man weiter.

von Dave C. (dave_chappelle)


Lesenswert?

Hallo Martin

Du wirst in diesem Hobby niemals Erfolg haben.
Und ich meine nicht "vermutlich nicht" oder "es ist unwahrscheinlich, 
dass.."
sondern niemals.

Im Bezug auf Mikrocontroller (und vermutlich der Fähigkeit zu lesen) 
bist du so unfähig wie man es nur sein kann.

Du bist nicht nur unfähig, du bist auch nicht im Stande einfachsten 
Anweisungen zu folgen, du bist zu allem auch noch unhöflich, kannst dich 
schlecht artikulieren und deine Eigeninitiative geht gegen null.

Das beste Beispiel für deine totale Unfähigkeit selbst was in Erfahrung 
zu bringen:

Martin Fischer schrieb:
> Habe ich !
> http://de.wikipedia.org/wiki/ACK
> aber was genau hat das damit zu tun?

Du hast den Artikel zwar gefunden aber mehr als die erste Zeile wirst du 
wohl kaum gelesen haben, sonst hättest du gelesen:

> abgeleitet für Zustimmung im Netzjargon

Und genau so liest du wohl auch Datenblätter (wenn du überhaupt mal eins 
geöffnet hast) und Tutorials und die Beiträge hier.


Bitte verschone uns alle und such' dir ein anderes Forum.
Sorry ich bin normalerweise nicht so unfreundlich aber du bist der 
Gipfel der Faulheit, Ignoranz und Unfähigkeit.

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Dave Chappelle schrieb:
> Bitte verschone uns alle und such' dir ein anderes Forum.
> Sorry ich bin normalerweise nicht so unfreundlich aber du bist der
> Gipfel der Faulheit, Ignoranz und Unfähigkeit.

Hallo Dave,

in meinem Namen sprichst du nicht. Wenn du dich schonen möchtest dann 
ignoriere doch einfach solche Threads.

Ich halte Martin auch weder für faul noch für unfähig. Einen Arduino als 
ISP-Programmer in einer unbekannten neuen Entwicklungsumgebung (avr-gcc, 
avrdude) zum Laufen zu bringen ist eben nicht so einfach. Es war ja 
gerade die Eigeninitiative von Martin, den Arduino Bootloader auf den 
Atmega zu flashen, die ihn aufs Kreuz gelegt hat. Und wie oft verweist 
die PIC-Fraktion hier auf die fiesen AVR-Fuses.

Vielleicht sollte man das Forum in einen Anfängerteil und einen 
Expertenteil aufteilen?

LG, Sebastian

: Bearbeitet durch User
von Martin F. (martin_f70)


Lesenswert?

Ok. Erstmal Danke an dich Sebastian :D
Ich habe jedoch noch eine Frage...
Ich komme mir dieser Fuse-Generator-Seite nicht ganz klar, welchen Takt 
muss ich Einstellen und so...kannst du mir da nochmals helfen?

von Sebastian W. (wangnick)


Lesenswert?

Hallo Martin,

für welchen deiner beiden Atmegas denn? Bleibst du jetzt beim Atmega328P 
und legst den Atmega8 erst mal beiseite?

Für einen 16MHz externen Quarz musst du "Ext. Crystal Osc; Frequency 
8.0- MHz" einstellen. Die Start-up time setzt du auf die grössten 
verfügbaren Werte (16K CK/14 CK + 65ms). CKDIV8 (Divide clock by 8) 
willst du nicht, und CKOUT (Clock output auf einem der Pins) brauchst du 
erst mal auch nicht.

Dazu, und zu den anderen Möglichkeiten der Taktung des uC, steht einigen 
Wissenswertes im Kapitel "System clock modes" im Datenblatt des 
Atmega328P.

lfuse ergibt sich dann für den Atmega328P als ... na ... 0xFF. Klaro, 
das ist genau der Wert den die Arduino-IDE beim Bootloader-Programmieren 
auch setzt, weil ein Arduino ebenfalls einen externen 16MHz-Quarz 
benutzt.

Sobald du die lfuse programmiert hast (und vielleicht am besten schon 
vorher) musst du dann natürlich entweder den Quarz mit den zwei kleinen 
Kondensatoren anschliessen, oder wieder den dämlichen externen Takt 
anlegen, um den Atmega328P dann weiter ansprechen zu können.

Ich fahre meine Mikrocontroller übrigens oft ohne Quarz, nur mit dem 
internen Resonator. Für viele Fälle ist ungefähr 8MHz statt genau 16MHz 
ja völlig ausreichend, und Quarze sind a) recht gross und b) recht 
empfindlich. Solltest du dir auch mal überlegen.

LG, Sebastian

: Bearbeitet durch User
von Brater (Gast)


Lesenswert?

Noch ein Hinweis: es gibt ein paar Befehle, mit denen du die Fuses 
deines Arduinos (oder besser: des funktionierenden Atmegas) auslesen 
kannst. Das ist vielleicht auch ein hilfreicher Ansatz.

von chris_ (Gast)


Lesenswert?

>Sobald du die lfuse programmiert hast (und vielleicht am besten schon
>vorher) musst du dann natürlich entweder den Quarz mit den zwei kleinen
>Kondensatoren anschliessen,
Ich habe den Quarz für Bastellzwecke meistens ohne die beiden 
Kondensatoren angeschlossen, ging eigentlich immer. Professionell wäre 
es natürlich etwas anderes.
Bedenken hätte ich eher wegen der langen Leitungen zum Quarz auf dem 
Steckbrett, die weiter oben in einem Bild mal zu sehen waren.

von Martin F. (martin_f70)


Lesenswert?

Mit dem ATmega8 klappt das nicht, immer Device Signature 0x000000 ...

von Sebastian W. (wangnick)


Lesenswert?

Martin Fischer schrieb:
> Mit dem ATmega8 klappt das nicht, immer Device Signature 0x000000
> ...

Ja, bei dem sind die Fuses anscheinend sehr esoterisch eingerichtet, 
wenn er nicht einmal den externen Takt annimmt.

Bevor du in diesen Atmega8 viel Zeit zur Wiederherstellung investierst, 
würde ich mir ein paar neue z.b. beim guloshop.de bestellen.

Alternativ, wenn dich dieses Metier weiter interessiert, würde ich die 
raten, dir einen AVR Dragon aus dem AVR-Studentenprogramm 
(http://student.embedded-projects.net, 41.90 Euro incl. Versand) 
zuzulegen. Da müsstest du dann aber mit Jugend Forscht und der Adresse 
deiner Schule und so eine Ausnahme durchsetzen, normal kostet der Dragon 
dort und anderswo so 63 Euro incl. Versand. Mit dem Dragon kannst du 
über das sogenannte Hochvolt-Programmieren (12V an Reset usw. usf.) die 
meisten solcher ins Nirwana verfuseter AVRs wieder reanimieren. Der 
Dragon kann auch Programmieren und auch Debuggen 
(Einzelschrittsteuerung, Registerdarstellung und vieles mehr) über ISP, 
JTAG und DebugWire.

Du kannst allerdings auch mal schauen, ob es bei dir in der Nähe einen 
Hackerspace, ein Fablab o.ä. gibt, wo du deinen Atmega8 wieder zum Leben 
erwecken lassen kannst.

Vielleicht kommst du ja aus dem Raum Aachen, dann kannst du auch bei mir 
vorbeschauen.

Oder, wenn du sehr mutig und lernbereit bist, könntest du dir auch einen 
HVPP-Programmierer aus deinem Arduino bauen. Dazu bräuchtest du dann 
aber eh noch zusätzliches "Hühnerfutter" und ein gerüttelt Maß an Zeit, 
Energie und Geduld, dich intensiv weiter in diese Materie einzuarbeiten.

LG, Sebastian

von F. F. (foldi)


Lesenswert?

Martin, schicke mir mal eine PN mit deiner Adresse, dann schenke ich dir 
einen HV für dein Arduino. Hatte ich mal gebaut, aber da ich ja zwei 
Drachen und  den MKII habe, dazu noch den mySmartUSB, kann ich dir den 
gern schenken. Du musst dir nur das entsprechende Programm auf den 
Arduino laden.

von Thomas B. (escamoteur)


Lesenswert?

Hi Martin,

bevo Du Dir einen Dragon für 50€ kaufst, hol Dir den

https://www.olimex.com/Products/AVR/Programmers/AVR-JTAG-USB-A/

für 20€ Damit kannst Du ab atmega16 JTAG debuggen, was am Anfang echt 
hilfreich ist. Damit kannst Du direkt aus AVR-Studio Flashen und 
debuggen.

Und hol Dir zwei neue AVR bei angegeben günstigen Adresse.

Gruß
Tom

von Martin F. (martin_f70)


Lesenswert?

Hallo erstmal!
Meint ihr ich kann F.Fo. trauen und meine Adresse freigeben?
2. Ich wohne leider nicht im Raum Aachen, sondern im Raum Magdeburg, 
also am Arsch der Welt ...

von Thomas B. (escamoteur)


Lesenswert?

Wieso solltest Du nicht, denkst Du er raubt euer Haus aus?

von Martin F. (martin_f70)


Lesenswert?

Naja, bevor ich meinen PC bekam wurde mir gelehrt gib keine 
Daten...vorallem nicht Adresse...frei

von F. F. (foldi)


Lesenswert?

Hallo Martin,

dann frag mich doch selbst!

Ich wollte dir lediglich etwas schenken.

Aber lass mal, bau dir den selbst. Die Daten gibt es im Netz. Hab ich 
auch da gefunden.

Viel Erfolg!

von Friedrich (Gast)


Lesenswert?

Den AVR Dragon kann ich nur bedingt empfehlen.
Der kann zwar viel und ist für ein original Atmel Produkt recht günstig, 
aber der Dragon ist auch sau empfindlich.
Den hat man ganz schnell mal zerschossen.
Hab meinen in eine Kassettenhülle eingebaut... nachdem ich ihn 
reparieren musste!

Da sich Martin hier schon so schwer getan hat, würde ich empfehlen, für 
ein paar Euros ein paar neue Atmegas zu kaufen und sich jetzt nicht mit 
HV zum Retten von verfusten Controllern zu beschäftigen.

Apropos original Atmel Produkte...
ich hatte mal Spaß mit einem MKII... der geht nämlich gerne kaputt, wenn 
das Target noch extern gepowert wird, aber der USB Anschluss 
abgeschaltet wird, was z.B. im Sleepmode passieren kann.
Steht auch so im Datenblatt, dass der das nicht mag.
Super Teil für 40€, das so leicht kaputt geht.
Seit dem bennutze ich den kleineren und günstigeren mySmartUSB light und 
bin mehr als zufrieden. Ok, da hab ich auch schon einen zerschossen, 
aber das ist verzeihlich...

von Martin F. (martin_f70)


Lesenswert?

Ich hol mir auch diesen mySmartUSB light...noch eine Frage...wie kann 
ich jetzt eigentlich auf einen uC den Arduino Bootloader raufbringen 
ohne dass der uC verfused wird?

von Cyblord -. (cyblord)


Lesenswert?

Martin Fischer schrieb:
> Ich hol mir auch diesen mySmartUSB light...noch eine Frage...wie kann
> ich jetzt eigentlich auf einen uC den Arduino Bootloader raufbringen
> ohne dass der uC verfused wird?

Mit dem mySmartUSB light.

Und da wird von alleine gar nichts verfused. Wenn man die Fuses nicht 
ändert und explizit wieder zurückschreibt, dann ändert sich an den Fuses 
auch nichts.

gruß cyblord

von Mopedd (Gast)


Lesenswert?

>Naja, bevor ich meinen PC bekam wurde mir gelehrt gib keine
>Daten...vorallem nicht Adresse...frei
Ja, aber die sollst du doch nur nicht den Bösen Leuten geben!
Also nicht den Leuten von pic-controller-hihi.org

von Dave C. (dave_chappelle)


Lesenswert?

Martin Fischer schrieb:
> Ich hol mir auch diesen mySmartUSB light..

Und das nach nur knapp 250 Beiträge, olé!

von Martin F. (martin_f70)


Lesenswert?

Also wie genau bekomme ich jetzt Arduino darauf ohne dass device error 
kommt?

von Dave C. (dave_chappelle)


Lesenswert?

Warum willst du denn einen Bootloader draufkriegen wenn du einen 
Programmer hast?

Du kannst mit dem Programmer den µC deiner Wahl frei programmieren, 
alles was du dazu brauchst sind die 6 Pins: VCC, GND, MOSI, MISO, SCK 
und RESET.

von Martin F. (martin_f70)


Lesenswert?

Aber ein Kollege von  mir mag den mit der Arduino Sprache programmieten

von Dave C. (dave_chappelle)


Lesenswert?

Oke und warum verwendet er keinen Arduino..?

von Martin F. (martin_f70)


Lesenswert?

Er will es so klei nwie möglich mit nur einem ATmega

von Reinhard Kern (Gast)


Lesenswert?

Martin Fischer schrieb:
> Aber ein Kollege von  mir mag den mit der Arduino Sprache programmieten

Und schon ist die Basis da für die nächsten 300 Beiträge.

Gruss Reinhard

von Martin F. (martin_f70)


Lesenswert?

Nein nein...diesmal mag ich es schnell verstehen :D

von Dave C. (dave_chappelle)


Lesenswert?

Oke..

HIER: http://www.arduino.cc/en/Main/ArduinoBoardNano

Sag ihm er soll den kaufen.
Fertig.

von Martin F. (martin_f70)


Lesenswert?

Nein! Bitte!

von Dave C. (dave_chappelle)


Lesenswert?

Oke, dann halte ich mich ab sofort wieder dieser Diskussion fern.

von Thomas B. (escamoteur)


Lesenswert?

Martin, nachdem Dein AVR jetzt läuft, mach doch einen neuen Thread für 
neue Fragen auf, dieser hier wird allmählich wirklich zu lange.

Wie Du die Arduino Software auf einen AVR bekommst ist ja ein neues 
Thema
Gruß
Tom

von Martin F. (martin_f70)


Lesenswert?

Ok. DAnn hiermit Danke an euch, bis zum nächsten Thread!

von Sebastian W. (wangnick)


Lesenswert?

Hallo Martin,

Martin Fischer schrieb:
> wie kann ich jetzt eigentlich auf einen uC den Arduino Bootloader
> raufbringen ohne dass der uC verfused wird?

Martin Fischer schrieb:
> Also wie genau bekomme ich jetzt Arduino darauf ohne dass device
> error kommt?

Martin Fischer schrieb:
> Aber ein Kollege von mir mag den mit der Arduino Sprache programmieten

du kannst mit der Arduino-Sprache (also der Arduino-Entwicklungsumgebung 
mit ihrem Compiler und den vielen Bibliotheken) auch ohne Bootloader 
arbeiten. Dazu musst du nur anstelle von "Upload" einfach "Upload mit 
Programmer" benutzen. Dann brauchst du dann natürlich einen 
ISP-Programmer, entweder deinen Arduino-als-ISP oder zum Beispiel diesen 
"mySmartUSB light".

Du kannst natürlich auch den Arduino Bootloader auf den Atmega328p 
flashen. Der Bootloader ist ja nicht viel anderes als ein Programmierer 
der auf dem Ziel läuft und sozusagen "sich selbst" programmiert.

Nur: Wenn auf dem Atmega der Bootloader läuft, wie willst du dann 
Sketche auf den Atmega bringen? Dazu brauchst du eine serielle 
Kommunikation zwischen deinem PC und dem Atmega. Beim Arduino wird das 
über USB abgewickelt, aber das geht mit dem rohen Atmega ja nicht.

Wenn du dir das überlegt hast kannst du ja für Details in dem neuen 
Thread Fragen stellen.

LG, Sebastian

von Mr. Tom (Gast)


Lesenswert?

Congratulations
1
Post Nr. 300
über das Flashen eines ATmega8

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
Noch kein Account? Hier anmelden.