ich poste morgen meinen schaltplan, könnt ihr mir schonmal sagen wie das
dann geht? überhaupt avr zu programmieren ohne teuren programmer?
habe den atmega8
Martin Fischer schrieb:> ich poste morgen meinen schaltplan, könnt ihr mir schonmal sagen wie das> dann geht? überhaupt avr zu programmieren ohne teuren programmer?> habe den atmega8
Auf der hilfreichen Website www.google.de findest du alle Informationen
die du brauchst.
Der Qualität deiner Fragen nach zu urteilen: Gar nicht, spiel lieber mit
Duplo.
Ernsthaft: Alle deine Fragen sind einfach scheiße.
- Unverständlich
- Mit dem kleinsten bisschen Verstand und eigener Initiative selbst
lösbar
- oder beides
Lerne also bitte, richtige, wohlformulierte Fragen zu stellen, die alle
relevanten Informationen beinhalten. Es schadet auch nichts, die
richtigen Fachbegriffe zu nutzen und zu erklären, warum dir Google nicht
geholfen hat....
> ok, ich habe mein atmega8 board
Welches? Wie angeschlossen? Ggf. Schaltplan/aussagekräftige
Fotos/Messergebnisse/..
> habe arduino as isp und so einn tut befolgt,
Welches tut(-orium? -orial?)? Wie ∗genau∗ hast Du den Arduino als ISP
genutzt? Wie angeschlossen? Welche Software ist drauf?
> avrdude spuckt mir nen error aus, den ich am morgen posten werde, ok?
Klar. Aufrufparameter und vollständiger Ausgabe nicht vergessen, nicht
nur die Fehlermeldung als solche nennen.
Oooooooh, dann werde keine beantworten, denn ich wollte eigentlich 9.32
Uhr antworten, aber wenn du da eher schon zu gange warst, dann braucht
er mich ja nicht !
smile-lach
Noooooooooormalerweise... mag ich Trolls ja gar nicht, aber der hier
drollig !
Noooooooooormalerweise überlese ich solche Anfragen, aber das hier war
einfach nur gut !
apropo gut...
Gute Nacht !
also, dass hier ist mein schaltplan:
board.sch/board.png
das hier ist das tutorial, wie ich alles am arduino anschließe und
programmiere:
http://www.youtube.com/watch?v=_ZL-YNOH_jA
das hier sind MEINE Makefile und main.c:
Makefile
main.c -> nicht PD6 sondern PB1
das hier ist er avrdude-error:
avr-gcc -Wall -Os -DF_CPU=16000000 -mmcu=atmega8 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=16000000 -mmcu=atmega8 -o main.elf main.o
rm -f main.hex
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i
avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
avrdude done. Thank you.
make: *** [flash] Error 1
mir haben lehrer den unterschied zwischen groß und kleinschreibung und
die bedeutung der interpunktion zb punkt und komma beigebracht die das
lesen
eines textes gerade wenn er komplizierter ist und mehrere
verschachtelungen enthält wesentlich erleichtert
Martin Fischer schrieb:> ich poste morgen meinen schaltplan, könnt ihr mir schonmal sagen wie das> dann geht? überhaupt avr zu programmieren ohne teuren programmer?> habe den atmega8
Kauf dir um 15€ einen MySmartUSB Light.
Der hat ein benutzerfreundliches user interface und funktioniert super
als programmer.
Wenn du gleich den MysmartUSB MK2 oder MK3 nimmst hast du auch einen
usb/serial Adapter drauf. (das ist beim Arduino der FT232RL, Atmega8u2
oder Atmega16u2)
Damit kannst du dann über die Arduino IDE den Atmega8 auf dem schon der
Bootloader ist über UART programmieren.
> also, dass hier ist mein schaltplan: board.sch/board.png
Wie ∗genau∗ hast Du den Arduino angeschlossen? Insbesondere GND fehlt
auf dem ISP-Stecker im Schaltplan. Wie wird das Target mit Strom
versorgt?
Welche Software-Version ∗genau∗ läuft auf dem Arduino?
Welche Software-Version ∗genau∗ nutzt Du vom avrdude? Ggf. avrdude
nochmal mit -vvvv dazu aufrufen und die Ausgabe zeigen.
Martin Fischer schrieb:> avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i
Der Fehler ist hier. Der Arduino emuliert einen AVRISP. Den musst Du
auch als programmer auswählen.
In dem von Dir verlinken Videotutorial ist das allerdings auch deutlich
dargestellt. Am besten noch einmal anschauen.
Mr. Tom schrieb:> g457 schrieb:>> Insbesondere GND fehlt auf dem ISP-Stecker im Schaltplan.>> Die Erkenntnis ist nicht neu> Beitrag "Re: AVR-Board Schaltplan"
ja das hat sich erledigt, diesen stecker gibt es so direkt nicht, ich
habe ohne stecker alles verbunden, ich wollte eher eine antwort zu:
Tim schrieb:> Martin Fischer schrieb:>>> avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i>> Der Fehler ist hier. Der Arduino emuliert einen AVRISP. Den musst Du> auch als programmer auswählen.>> In dem von Dir verlinken Videotutorial ist das allerdings auch deutlich> dargestellt. Am besten noch einmal anschauen.
Grüss Euch!
>wie kann ich mein selbstgebautes avr mit dem arduino uno programmieren?
Inzwischen auch meine Rad-Schläge ;-) :
1.)Elektronik - GRUNDKENNTNISSE erwerben!! Das ist ganz wichtig!
Also, zuerst etwas Einfaches zu basteln versuchen! Ohne Controller!
Versuchen, die Funktionsweise eines Transistors, speziell in der
Version "Schalttransistor", zu erlernen und zu verstehen. Denn,
µController bestehen aus Millionen von Schalttransistoren.
2.) Binäre und HEX-Zahlen lernen. Urwichtig!
3.) Die logischen Verknüpfungen lernen! (OR, AND, EXOR und NAND
vielleicht) Total wichtig!
4.) Eine Programmiersprache wählen und erlernen, mit der man einen
guten Bezug zur Hardware hat. 'C' ergibt, sagen wir mal, einen sehr
guten Kompromiss. Assembler ist steinig und mühsam. ;-) Aber sehr gut,
wenn man darüber Bescheid weiss.
...und, ernst wird es mit den Datenblättern, auf die man hier so
gerne hingewiesen wird! ;-)
Denn, das Verständniss derselben setzt sowohl Elektronik- als auch
Englisch-Fachkenntnisse voraus und die hat nicht jeder. Ich wünschte mir
zum Beispiel oft Datenblätter in Deutscher Sprache.
Ansonsten bin ich nicht der Obergescheiten einer, versuche es aber zu
werden! ;-) Lernen ist ja nicht verboten. :-)
Herzliche Grüsse vom Lästerer! ;-)
Du, wahrscheinlich ein Problem mit dem Programmer!
Nimm doch den!:
>Kauf dir um 15€ einen MySmartUSB Light.
Ich bin damit voll zufrieden! Geht auch bestens mit dem AVR-Studio.
Bloss, da gibt es eine Meldung bei der 5er-Version bezüglich einer
fehlenden Spannung. Ignoriert man diese Meldung, klappt es trotzdem.
Achso, wie das mit Arduino funktioniert, weiss ich allerdings nicht.
Aber der Tipp mit dem MySmartUSB Light ist Gold wert. Kostet ja auch
nicht die Welt!
Gerhard
Najo, nimm doch das:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Da lernt man 'ne ganze Menge drin!
Wenn Du Dir das AVR-Studio5 heruntergeladen hast:
"File" "New" "Project" Projekt-Namen eingeben, Controller eingeben und
den Code eintippen! Fertig! ;-) Helpfiles gibt es auch. ;-)
Nimm Dir ein gutes C-Buch zur Hand!
Spitze sind:
Markt+Technik "jetzt lerne ich C" und vom selben Verlag "jetzt lerne ich
C++",
Ersteres von P.Monadjemi und Eckart Winkler und Zweites von Dirk Louis.
Beides makellos!
Und Stefan Wintgen ist da auch ganz grossartig für'n Anfänger!
http://www.youtube.com/watch?v=Zr0842FEC5Q
Sollte jeder genau mitmachen! Stefan macht das sehr gut!
Wenn man den Lehrgang ganz mitmacht, lernt man so viel, dass viele
Fragen entfallen!
Herzliche Grüsse
Gerhard
ok, also ich hole mir den usb-bla bal programmer, mache den an meinen
ORDENTLICHEN isp-stecker und kann den dann im atmelstudio auswählen und
das teil programmieren?
wen du programme lernen willst, must du die schreibfehler weglassen
so ist zb
VariableA was anderes wie variablea
weil die eine mit V und nicht mit v geschrieben wird
das ist wie dein text den kann auch keiner lesen und auch kein compiler
verstehen vielleicht ist das dein problem
Martin Fischer schrieb:> ok, also ich hole mir den usb-bla bal programmer, mache den an meinen> ORDENTLICHEN isp-stecker und kann den dann im atmelstudio auswählen und> das teil programmieren?
Guck, nimm mal für den Anfang einfach einen ganz "kleinen" Controller!
Eine gute Einführung kriegst Du z.B. mit dem Attiny 2313 hier:
http://www.g-heinrichs.de/attiny/
Der ist nicht ganz der Kleinste. Aber, er kann schon mal Vieles!
Wie gesagt, die "Data Sheets" hätte ich auch lieber oft in Deutscher
Sprache so wie es hier der Fall ist:
http://www.youtube.com/watch?v=Zr0842FEC5Q
Gruss
Gerhard
>programmieren kann ich doch schon nahezu perfekt!!!
Achso! Da ging ich von mir aus! ;-)
Gut, vielleicht sind trotzdem einige gute Tipps dabei!
Man weiss ja nie! Brauchbares ist oft dabei! Ich bin auch für jeden
Hinweis zu meiner autodidaktischen Methode sehr dankbar!
Frage aber eher nie im Forum, weil man meistens auf alles selber
draufkommt. :-)
Big Brother helps :-)
Herzliche Grüsse
Gerhard
wahrscheinlich ist deine shift-taste kaputt es kommt nur kleinschreibung
beim compiler an und der geht dann nicht zwischen klein- und
grosszeichen unterscheiden
Ohweh schrieb:> wahrscheinlich ist deine shift-taste kaputt es kommt nur kleinschreibung> beim compiler an und der geht dann nicht zwischen klein- und> grosszeichen unterscheiden
was meinst du damit?
Martin Fischer schrieb:> programmieren kann ich doch schon nahezu perfekt!!!
rechtsgelehrte arduino kennen perfekt nur schreiben programmieren
perfekt ncht gutt.
Vergiss das mit den "Gast"-Kommentaren ! Die lassen meist ihren Frust
ab, weil sie a) entweder eins vom Chef auf die Birne bekommen haben oder
, weil denen b) die Frau nicht gerade wohlgesonnen war.
ok, du bist zwar auch gast aber seriöser, kannst du mir nochmals helfen?
also, mit dem usb-bla ok, aber wie mache ich die fuses richtig, dann
würde es auch klappen denke ich mit dem arduino
http://www.amazon.de/Rechtschreibung-f%C3%BCr-Dummies-Fur/dp/3527707409/ref=sr_1_3?s=books&ie=UTF8&qid=1385240473&sr=1-3&keywords=deutsche+rechtschreibung
Hier steht alles drin, was du wissen musst.
... Spaß bei Seite. Möchtest du wissen, warum du hier solche Reaktonen
auf deine Fragen erhältst?
Ich sage es dir! Wenn sich jemand nicht mal die Mühe macht Groß- und
Kleinschreibung zu benutzen und Satzzeichen zu benutzen, wir dieser auch
nicht für voll genommen. Weiterhin sind deine Fragen einfach unpreziese
und man ließt einfach heraus, dass es an den Grundlagen fehlt. Also
stell deine Fragen ordentlich und gebe dir etwas mehr Mühe beim
Schreiben!! Im Zweifelsfall doch mal in das o.g. Buch schauen.
Lass die Fuses doch erstal so wie sie sind.
Ich weiß nichtmal ob die Fuses so richtig sind, da ich nicht genau weiß
wo ich die herbekomme... und warum funktioniert es nicht wenn es
anscheinend nicht an den Fuses liegt?
PS: Rechtschreibung/Grammatik in Ordnung? :D
Du musst die Fuses nicht verändern. Der Atmega 8 kommt mit default
gesetzten Fuses zu dir. Denn läuft er mit 1MHz internem Takt. Daran
musst du erstmal nichts ändern, wenn es nur darum geht den µC zu
flashen. Warum genau es nicht funktioniert, kann ich dir auch nicht
sagen, da meine Glaskugel gerade beim Ölwechsel ist ;)
Ja dafür müsstest du die Fuses entsprechend setzen. Mach doch erstmal
einen Schritt nach dem anderen. Zuerst solltest du deinen AVR flashen
können. Schaue dir am besten das Tutorial noch einmal an und gehe
Schritt für Schritt vor, bis du das hinbekommst... Anschließend kümmerst
du dich um die Fuses.
... irgendwo im ganzen Threadverlauf hat es jemand geschrieben, aber -
so ich das richtig gesehen habe - den Fehler beim Aufruf von AVRDUDE
falsch markiert.
Das Arduinoboard ist nach dem aufspielen ein des Sketches ein Gerät das
einen Programmer darstellt, ein Programmer vom Typ ====> AVRISP !!!!
Ich hab hier jetzt leider keine Elektronik zur Hand (einen ARDUINO
sowieso nicht), aaaaaaaaaber ich hab aus dem Arduino-Sketch schon einmal
einen seriellen AVRISP Programmer gemacht.
Das "Gerät" ist nun auf der seriellen Schnittstelle KEIN Arduino, es ist
ein AVRISP Programmer !!!!
Mach also erst einmal den Versuch, ob der angeschlossene ATmega8 korrekt
antwortet und versuche NOCH NICHT den Chip zu flashen:
avrdude -c avrisp -P COM3 -b 19200 -p atmega8
Avrdude wird hier nur eine Verbindung vom zu flashenden Controller
herstellen und die Signatur des ATmega8 anzeigen.
Wenn die Signatur stimmt, kannst du auch mit weiteren Parametern den
Chip flashen.
... du hast "Glück", auf meinem Stick ist das Programm das ich mal
geschrieben habe, um mit dem AVRISP-Sketch zu kommunizieren.
Es ist ein Visual-Studio Express Programm und benötigt deshalb dotnet4.
Hast du das nicht installiert, installiere dir das von der
Microsoft-Seite.
Entpacke die Datei in einen Ordner deiner Wahl und starte das
EXE-Programm. Wichtig ist, dass die Datei "partlist.txt" im selben
Verzeichnis wie das Programm liegt.
Damit kannst du dann nach Herzenslust flashen !
hach, hab ich auch einen Fehler gemacht, der Partname bei AVRDUDE heißt:
m8
nur beim AVR-GCC heist das atmega8
Korrekter AVRDUDE-Aufruf ist:
avrdude -c avrisp -P COM3 -b 19200 -p m8
im Makefile ist es auch falsch ....
Mein Programm?????
... geht davon aus, dass du bereits eine HEX-Datei hast, die du auf den
Controller schieben möchtest.
Es funktioniert AUSSCHLIESSLICH mit dem AVRISP !!!!
- auf Hexfile klicken
...... Datei auswählen
- Target klicken
...... zu flashenden MCU auswählen
- Upload klicken
...... Controller wird geflasht
... die Liste in <partlist.txt> ist frei erweiterbar und kann um jeden
Controller erweitert werden, den das AVRISP und AVRDUDE unterstützt...
Ich war nur zu faul, andere MCU's einzufügen als die, die ich verwende !
Schönen Sonntag
Ach herjeh....
ARDUINO
Ich dachte, du willst einen Controller flashen ??????
Ein Compiler (und Linker) erstellt aus dem Quellcode (bei ARDUINO heißen
dieses "Sketche" und enden mit *.ino --- wer ist nur auf den Namen
Sketch gekommen, ich male und zeichne auch und im Englischen ist ein
Sketch eine Skizze ...) eine übersetzte Datei.
In dieser Datei sind die Codes, die der Prozessor DIREKT versteht und es
gibt in aller Regel 2 Formate wie diese abgelegt sind, entweder im
Binär-Format oder eben als Hex-Datei.
Auch Arduino erstellt eine Hex-Datei, schiebt diese auf das Board und
löscht diese nach Datentransfer wieder.
Ich wußte mal WO Arduino diese Datei ablegt (geschieht bspw. beim
Menüpunkt "überprüfen" oder so ähnlich).
Eine Hex-Datei wird erstellt, wenn du mit AVR-GCC, Assembler oder auch
BASCOM werkelst.
Für alles andere ergibt ein Programmer keinen Sinn !!!!!
Ich glaube - und ich hätte meinem ersten Eindruck glauben schenken
sollen - hier lacht wer gewaltig über mich und ich werde verschaukelt !
Wenn dem nicht so ist: Lerne (auch wenn du meinst du kannst schon nahezu
perfekt programmieren) mit einem Compiler umzugehen, dann ist dir auch
sehr schnell klar, was eine Hex-Datei ist !
ok, was genau das ist wusste ich schon in etwa, und programmieren kann
ich eh, aber wie erstelle ich eine hex Datei unter avr-gcc, also wie ist
der Befehl dafür?
Martin Fischer schrieb:> ok, ich mag aber 16Mhz externen Quarz benutzen, muss ich dafür was> ändern?
Was genau verstehst du in dem Abschnitt "Memory
Programming - Fuse Bits" im Datenblatt nicht?
Martin Fischer schrieb:> ok, bei deinem Programm:> bei Signature:FEHLER>> AVRISP-Gerät oder kein Controller gefunden> bei Upload:Flashvorgang beendet...>>> -> nichts ist Passiert.....> ...ist mein ATmega8 kaputt???
antworte bitte dadrauf...
Hallo Martin,
Martin Fischer schrieb:> avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i>> avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50> avrdude: initialization failed, rc=-1> Double check connections and try again, or use -F to override> this check.>> avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51>> avrdude done. Thank you.
Das sieht nach einem Fehler zwischen PC und Uno-als-ISP aus.
Martin Fischer schrieb:> avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i>> avrdude: AVR device initialized and ready to accept instructions>> Reading | ################################################## | 100%> 0.02s>> avrdude: Device signature = 0x000000> avrdude: Yikes! Invalid device signature.> Double check connections and try again, or use -F to override> this check.
Das sieht jetzt schon eher nach einer erfolgreichen Kommunikation
zwischen PC und Uno-als-ISP, aber einem Fehler zwischen Uno-als-ISP und
Atmega8 aus.
1. Ist dein Atmega8 neu? Eventuell solltest du mal einen externen Takt
anlegen, falls er doch verfused sein sollte.
2. Villeicht hilft es, an den Uno mal die Debug-LEDs anzuschliessen
(siehe Quellcode ArduinoISP.ino).
Viel Glück. Im Prinzip sollte das funktionieren was du vorhast.
LG, Sebastian
Martin Fischer schrieb:> muss ich die f_cpu auf 16000000 ändern?
Das ist nur eine Compilerkonstante, damit der damit zeitabhängige Größen
(Delay, Baudraten, ...) berechnen kann.
Das ist dem Controller herzlich egal ob du da irgendwo in deinem Code
ein f_cpu schreibst oder nicht. Das hat keine auswirkungen auf den
CPU-Takt. Du musst die Fuses ändern.
"quarz" ist ein Verb wie z.B. gehen (gegangen), schreiben (geschrieben),
essen (gegessen), springen (gesprungen)
Probier mal ein Quarz, das ist kein Verb.
Das ist ein Hauptwort für eine Hardware.
Vielleicht geht ein "quarz" als Verb nicht.
... dann schließ einen 16MHZ Quarz und 2 Kondensatoren an.
Wenn du keine Verbindung zum ATmega8 hinbekommst ist alles andere erst
mal Wurst.
Du brauchst dich nicht um Compilereinstellung vorerst zu kümmern.
Solange du keine Signatur lesen kannst kommst du an den ATmega einfach
nicht ran...
Wenn also der Atmega bei den Fuses auf externem Takt steht wirst du mit
keinem seriellen Flasher der Welt eine Verbindung aufbauen können.
Also: Quarz anschließen und Verbindung testen !
Das ist so, als: Der Motor deines Autos springt nicht an und du fragst,
ob das am Blinker liegen kann !
Außerdem, wie du schon mehrfach betont hast, scheinst du ja (deine
eigene Aussage) nahezu perfekt programmieren zu können.
Ein "perfekter Programmierer" (ich kenne keinen einzigen und ich bin
super weit davon weg, obwohl ich das schon mittlerweile 32 Jahre lang...
immer wieder mal ... mache) kennt das System das er programmiert, er
kennt seine Eigenheiten und er weiß, wie intern etwas funktioniert.
Er weiß, was sein Compiler besonders gut kann und was nicht und er weiß,
welchen Output (zumindest mal so im groben) sein Compiler erzeugen wird!
Aaaaaaaaalso: erst einmal lernen wie dein Arduino funktioniert, über
welche Schnittstelle er kommuniziert, welches Protokoll er verwendet
(in deinem Falle STK500).
Was man mit den Fuses machen kann (oder besser machen muß).
Siehe auch:
http://www.engbedded.com/fusecalc
Aaaaaaaaaaaaaaaaaaber: wenn dein Atmega auf externen Fuses steht, wird
er für eine Verbindung auch einen externen Quarz benötigen, wenn er auf
intern steht, stört ein angeschlossener Quarz zumindest nicht !
Ganz ehrlich:
Ich glaube du hast von dem Teil das du programmieren möchtest überhaupt
keine Ahnung und im besten Falle hast du mal ein paar Spielereien auf
dem PC und/oder auf dem Arduino hinbekommen ohne genau zu wissen was die
Elektronik macht.
Setze dich auseinander mit:
- ISP
- AVRDUDE
- AVR-GCC
Nicht rumspielen und experimentieren, hier gilt: Wer lesen kann ist klar
im Vorteil.
Du hast:
- einen ARDUINO
- ein AVRISP Sketch (das es gilt auf den ARDUINO zu spielen)
- hoffentlich eine serielle Schnittstelle die funktioniert, denn du mußt
das AVRISP über die serielle Schnittstelle UND NICHT ÜBER DEN USB
bedienen
- AVRDUDE
- AVRISP (von mir) das DEFINITIV genau mit diesem Sketch von Arduino
umgehen kann (denn dafür wurde es mal von mir für Auszubildende und
Anfänger geschrieben)... im übrigen funktioniert dieses Programm auch
MIT einem USB2RS232 Adapter wie delock, logilink und mit einem Eigenbau
MCP2200 sehr gut !
Wenn ich die ganzen Threads lese hab ich einfach so den Eindruck, dass
du schlicht nicht weißt was du tust.
Sorry, aber irgendwie bin ich säuerlich !
End of communication !
Martin Fischer schrieb:> na ich mag 16MHz quarz nutzen
Hallo Martin,
um den externen Quarz nutzen zu können musst du die Fuses des Atmega8
ändern (siehe Datenblatt).
Um die Fuses ändern zu können muss avrdude via Uno-als-ISP
funktionieren.
Damit avrdude via Uno-als-ASP funktioniert musst du deinen Fehler
finden.
Was ist denn zur Zeit Stand der Dinge? Mach doch mal ein Foto vom
Verbindungsaufbau.
LG, Sebastian
Ok, also:
Ich muss für ein Jugend-Forscht Projekt die Elektronik machen, wir
brauchen einfach nur einen Mikrocontroller der ein LCD anspricht. Ich
entschied mich für den ATmega8. Wir finden es gut, wenn man die Arduino
Software nutzen kann. Daher fanden wir folgendes Tutorial:
http://arduino.cc/en/Main/Standalone
Wie man sieht brauch man ein BreakOut-Board zum programmieren...
Geht dieser Programmer
http://www.conrad.de/ce/de/product/191406/USB-Programmer-mySmartUSB-light?ref=searchDetail
auch mit dem Tutorial? Oder brauche ich dieses BreakOut Board?
Was du machst, ist nicht "Jugend forscht" sondern "Mach mein Projekt für
ich, ich will nicht selber lernen oder denken". Ausnahmslos alles, was
Du für das Selber-Programmieren brauchst, ist im Netz gründlichst
dokumentiert. Das zu finden, zu lesen und zu verstehen, ist ein
wesentlicher Teil jeglicher Forschungsarbeit.
Außerdem: Warum verwendest Du nicht einfach deinen Arduino für das
Projekt, wenn es dir so schwerfällt, einen Standalone-Chip zu
programmieren? Leute wie Du sind nämlich genau die Zielgruppe des
Arduinos, um die ganze Komplexität des Drumherums wegzunehmen. Wenn Du
den nicht opfern willst, gibt es Tonnen von billigen Klonen, die z.T.
auch direkt auf ein Breadboard gesteckt werden können und genauso
einfach zu nutzen sind wie die Originale. \\
Martin Fischer schrieb:> Und mit welchen µC funktioniert das Draufbrennen von Arduino-Bootloader?
Verstehe die Frage nicht.
Auf dem Arduino-Board ist ein ATmega328 (der Original dabei war mit
Bootloader).
Auf diesen ATmega328 lädst du das Programm (Sketch) "ArduinoISP".
Ab jetzt verwendest du dein Arduino-Board als ISP-Programmer und heisst
"Arduino as ISP".
Martin Fischer schrieb:> ja ich weiß, aber meine Gruppe möchte einen Selbstgebauten> AVR-Controller
Warum erledigt ihr das dann nicht im Team-Work, soll sich doch jemand
anders mit dem Copy&Paste des Arduinos rumschlagen.
(Team = Toll, ein anderer machts)
Ich bewundere euren Langmut!
@Martin Fischer: Mal ganz ehrlich, Du schreibst hier ein extrem
schlampiges Deutsch, bist unverschämt, arrogant und anmaßend und gehst
davon aus, dass jeder hier Dir bereitwillig hilft.
Ich selbst habe durch dieses Forum gelernt mit µC zu arbeiten und weiß,
wie hilfsbereit hier alle sind. Aber wer der Gemeinde so wenig Respekt
und Eigeninitiative entgegenbringt darf sich nicht wundern wenn nur ein
paar mit unendlicher Geduld sich um Dich kümmern.
Weißt Du, wie ich angefangen habe? Ein Steckbrett, ein paar Dioden und
Widerstände, ein atmega32, ein Steckernetzteil und ein
JTAG-Programmierer von Olimex
https://www.olimex.com/Products/AVR/Programmers/AVR-JTAG-USB-A/
Das JTAG hat nämlich den Vorteil, dass Du Schrittweiße mit dem Debugger
Deinen Code im Controller ablaufen kannst und genau siehst was passiert
(ok, viele hier werden jetzt sagen, das braucht man nicht, ein ISP
reicht. Ich sehe halt einfach gerne was mein Code macht ;-) Und ich
denke es macht es am Anfang wirklich leichter.)
Dann hab ich das AVR-GCC Tutorial hier gelesen und versucht eine LED zu
blinken zu bringen. Dafür braucht man kein Arduino.
(Uuos, macht mich der Rotwein auch schon langmütig?)
ok danke für diese Erklärung, aber kann ich statt 32er auch den 8er
nehmen, also wird der auch von diesem Programmer unterstützt?
Und kannst du den Programmer nochmals genau erklären?
Nee, mindestens einen atmega16
Mit welchen Entwicklungsumgebungen ast Du denn schon gearbeitet? Hast Du
schon mal einen Debugger verwendet? Weißt Du was ein Breapoint ist?
könntest auch diese Platine nehmen:
https://www.olimex.com/Products/AVR/Proto/AVR-P40-8535-8MHz/
da muss nur noch ein atMega16 drauf und Du kannst zusätzliche Bauteile
(mehr LEDs z.B.) drauflöten wenn Du es brauchst.
Dazu benötigst Du dann halt noch den JTAG-Programmierer.
Ok dann versuch ich es zu beschreiben:
1. Du verbindest Dein Target (Deine Platine mit dem AVR) mit dem
JTAG-Programmierer und diesen mit Deinem PC
2. Target mit Strom versorgen!
3. AVRStudio (kann man kostenlos bei Atmel runterladen) öffnen und das
Programm schreiben
4. Programm übersetzen
5. wenn kein Fehler einfach Run klicken und dadurch wird Dein Programm
auf den atMega geschrieben und gestartet.
6. Zum Glück hält es jedoch an Deiner ersten Prorammzeile an. Von da an
kannst Du Schritt für Schritt durch Dein Programm steppen, Variablen und
Regsiter auslesen, ganz so wie wenn Du ein Programm auf dem PC debuggen
würdest.
Noch Fragen?
Martin Fischer schrieb:> aber kann ich statt 32er auch den 8er> nehmen, also wird der auch von diesem Programmer unterstützt?
Standardmässig von der Arduino-Software nicht, wenn er Standalone (auf
einem Breadboard) ist. (Könnte man sicher anpassen, aber das lassen wir
besser.)
Und mit einem richtigen Programmer bist du sicher besser bedient.
Ich denke auch, dir kann hier besser geholfen werden mit den
spezifischen Arduino-Fragen:
http://forum.arduino.cc/index.php?PHPSESSID=pj4fl1u8qb4i02d92m8147lg60&board=31.0
Thomas Burkhart schrieb:> Ich bewundere euren Langmut!>> @Martin Fischer: Mal ganz ehrlich, Du schreibst hier ein extrem> schlampiges Deutsch, bist unverschämt, arrogant und anmaßend und gehst> davon aus, dass jeder hier Dir bereitwillig hilft.>> Ich selbst habe durch dieses Forum gelernt mit µC zu arbeiten und weiß,> wie hilfsbereit hier alle sind. Aber wer der Gemeinde so wenig Respekt> und Eigeninitiative entgegenbringt darf sich nicht wundern wenn nur ein> paar mit unendlicher Geduld sich um Dich kümmern.
So viele Punkte kann ich leider gar nicht vergeben, wie deine
Einschätzung es verdient hätte.
Mal abgesehen von dem unterirdischem Deutsch, aber freundlich, höflich
und auch mal selbst etwas lesen, statt sich alles vor den Arsch tragen
lassen wollen, alles kostenlos haben wollen (anderer Thread von ihm) und
dann noch irgendeinen Mist zusammen gestrickt, obwohl hier zu Hauf der
Hinweis kam, er solle sich einen gescheiten Programmer kaufen.
Eigentlich müsste sich hier mal ein Mod erbarmen und diesen Mist hier
beenden.
Aber irgendwie ist er ja doch ganz niedlich :-) Weiß auch nicht warum,
sonst hätte ich nicht geantwortet.
Aber heute muss man doch eigentlich schon froh sein, wenn sich ein
Teenager mit Elektronik beschäftigen will statt nur sein Smartphone zu
streicheln.
@F.FO ...
Man kann -eigentlich recht einfach- tatsächlich aus dem ARDUINO einen
gut tauglichen ISP Flasher aufbauen.
Ich hab zwar selbst kein ARDUINO, aber wenn ISP Sketch des Arduino
compiliert wird und das daraus entstandene Hex-File in einen ATmega168
transferiert, ist das ab sofort auf der RS232 ein "normaler" AVRISP
Adapter, der problemlos mit AVRDUDE (und meiner GUI dafür, die ja auch
nur den AVRDUDE aufruft) läuft.
Von einem konkret vorhandenen ARDUINO wären nur die Schritte notwendig:
- AVRISP Sketch auf den Arduino laden
- Arduino Pins mit MOSI, MISO, SCK und RES ... sowie GND
G-E-W-I-S-S-E-N-H-A-F-T verbinden
- Betriebsspannung 5V am Zielcontroller anschließen (jeder von AVRDUDE
unterstützte Controller funktioniert)
- Quarz und 2 Kondensatoren anschließen (für den Fall, dass der
Controller auf externen Takt steht)
- Hex-Datei mittels AVRDUDE oder anderem Programm oder einer GUI für den
AVRDUDE übertragen
- Glücklich sein !!!!
-----------------------------------------------------------
Im Falle des Programmers haben viele schon einen Programmer über diese
Art und Weise gebaut. Mittlerweile dürfte wohl der preiswerteste Flasher
ein USBtinyISP sein (den ich selbst auch neben einem JTAG Debugger
verwende). Der läuft mit einem Tiny 2313...
Im Falle unseres Threaderstellers nehm ich jedoch an, dass er auch nicht
mit einem gekauften Programmer glücklich wird, weil ich glaube, er hat
auch genügend Verbindungsfehler mit eingebaut !
Gute Nacht (smile, mittlerweile schau ich in diesen Thread nur noch für
meine Belustigung herein ... und das ist das allererste mal, dass ich
das mache... und ich habe auch kein schlechtes Gewissen, dass ich jetzt
wohl auch zu den arroganten Ar******* hier gehöre).
Ralph S. schrieb:> @F.FO ...>> Man kann -eigentlich recht einfach- tatsächlich aus dem ARDUINO einen> gut tauglichen ISP Flasher aufbauen.
Hab hier ne Menge von den Dingern rum liegen. Hatte mit Arduino
angefangen und lerne jetzt C - aber ich lerne und gehe den Leuten
nicht mit so einem Scheiß auf den Sack.
Ist sonst nicht meine Art, aber hier muss das mal so deutlich gesagt
werden.
Hab das auch schon so gemacht und natürlich geht das, aber nicht bei
dem. Der Typ fragt dich, "So, hier hab ich jetzt eine Lampe und einen
Schalter und das Licht geht nicht an ..."
Da ist nichts kaputt, der hat weder Stecker in die Steckdose gesteckt
noch eine Glühlampe eingeschraubt.
Bei dem wird es nicht hell werden.
Tut mir leid, aber mir geht der nur noch auf den Sack und ich hatte ihm
auch schon einige Tipps gegeben. Aber dann kommen so Sprüche, dass er
eigentlich gar nichts ausgeben will, wo er doch erst nach dem Preis
fragte.
Da kommt man sich doch verarscht vor.
Dazu diese patzige, fordernde Art. Der Typ geht gar nicht. Und
Jugendlicher? Wenn die 70 sein Baujahr sind, dann hat er schon lange die
drei mal sieben hinter sich gelassen.
Ich bin 16 und möchte unbeding diese Materie verstehen. Ich weiß nunmal
nicht so viel wie ihr. Soorry. Ich werde heute mal die Verbindungen
checken...
Ist möglich dass der uC kaputt ist?
Kennt ihr gute Einführungsbücher?
Hi Martin
Ich habe mir den Thread noch nicht durchgelesen und bin mir SICHER, dass
das schon erwähnt wurde aber hier:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
findest du einfach alles was du brauchst.
Wenn du dir die Zeit nimmst dir das wirklich sorgfältig durchzulesen,
dann sollte eigentlich alles klappen.
Wenn du dann noch keinen Plan hast, dann ist dieses Hobby wohl eher nix
für dich.
Gruss
Puh, die Leute hier haben ja eine Geduld...
Alles wurde x-mal erklärt und dann kommt jedesmal wieder eine Frage, an
der man merkt, dass die Tipps entweder erst gar nicht gelesen oder nicht
ausprobiert wurden.
Es ist am Anfang alles sehr viel und verwirrend, aber die genannten
Tipps müssten echt weiter helfen.
Der MySmartUSB light ist wirklich ein toller Programmieradapter. Klein,
günstig und tut was er soll.
Für deine Verhältnisse kämpfst du an zu vielen Fronten... sollte man eh
vermeiden!
Mit einem gekauften und geprüften Programmieradapter kann man schon mal
viele Fehler ausschließen.
Besser noch, lass dir vor Ort von jemanden helfen der Ahnung hat. Dein
Problem ist dann in 5 Minuten durch und du hast bestimmt jede Menge
gelernt.
Am Anfang ist tatsächlich die gesamte Materie ziemlich komplex und ich
wage mal zu behaupen, dass für einen 16-jährigen ein Datenblatt auf
englisch eine ziemliche Überforderung ist, also auch dass der richtige
Umgang mit Google noch nicht beherrscht wird.
Auch die Bedienung des AVR-Studios will verstanden sein.
Vielleicht sollten wir neben dem AVR-Tutorial noch einen Artikel AVR für
Dummies schreiben, bei dem bis zum ersten blinken einer LED nichts
falsch laufen kann und man solche Fragenden immer wieder dorthin
verweisen kann. Schließlich kommen solche Fragen ja öfters mal und
nerven alle.
Immerhin bessern sich seine Manieren langsam :-)
Ich habe mal so was verfasst.
Wenn dazu wirklich Bedarf bestehen sollte, teile ich das gern hier.
Es ist quasi eine Schritt für Schritt Anleitung, bis zum ersten LED
blinken.
Dave Chappelle schrieb:> Ich habe mal so was verfasst.> Wenn dazu wirklich Bedarf bestehen sollte, teile ich das gern hier.>> Es ist quasi eine Schritt für Schritt Anleitung, bis zum ersten LED> blinken.
Wäre super, da immer wieder solche Fragen kommen.
Thomas Burkhart schrieb:> Dave Chappelle schrieb:>> Ich habe mal so was verfasst.>> Wenn dazu wirklich Bedarf bestehen sollte, teile ich das gern hier.>>>> Es ist quasi eine Schritt für Schritt Anleitung, bis zum ersten LED>> blinken.>> Wäre super, da immer wieder solche Fragen kommen.
Dann kommen trotzdem die Fragen nach einem anderen Controller, einem
anderen Programmieradapter usw.
Vielleicht ist eine abgespeckte Einführung mit ganz klar definiertem
Rahmen trotzdem eine gute Idee. Wenn es zu universell ist, wird es
schnell unübersichtlich.
Vielen dürfte z.B. am Anfang auch gar nicht klar sein, was Fuses
eigentlich sind...
Friedrich schrieb:> Vielen dürfte z.B. am Anfang auch gar nicht klar sein, was Fuses> eigentlich sind...
Braucht man am Anfang ja auch nicht zu wissen. Man braucht für die
ersten Schrite ja auch keinen externen Quartz.
Für das gibt es doch genau das ganzen Arduino-Zeug. Einfacher kann mann
es wohl nicht erklären.
Und wenn er sich ernshaft damit beschäftigt hätte, dann hätte er sogar
in eine der letzte Tutorials gesehen wie mann den Arduino als ISP
benutzen kann. Weil ich meinte das war eigentlich die Frage, oder?
Erstmal Hallo!
Ich habe bevor du den Link gepostet hast wie man den Arduino als
ISP-Programmer nutzt schon angefangen nach diesem Tutorial zu
arbeiten...irgendetwas klappt aber nicht...
Ich werde bis heute Abend eine Liste machen mit meinem Zeugs, auch mal
ein Bild von meiner Schaltung, bis dann
Martin Fischer schrieb:> der Stand der dinge ist, dass mit Arduino als IPS alles funktioniert!> Mit dem Atmega stimmt was nicht....wegen dem Quarz?
Warum bist du so sicher, dass mit Arduino-als-ISP alles funktioniert?
Stell doch wie gesagt mal ein Foto deines Aufbaus ein.
Wenn es tatsächlich am Atmega8 liegen sollte: Manche AVR's sind leider
anscheinend ab Lieferant verfused (evtl. Rückläufer?). Wenn du dann
keinen Hochvoltprogrammierer hast, dann kannst du versuchen, einen
externen Takt von z.B. 1MHz an den Atmega8 anzulegen. Keinen Kristall!
Diesen Takt könntest du mit deinem Arduino-als-ISP ebenfalls erzeugen
(PWM). Dass ist zwar etwas fummelig aber machbar, wir helfen gern.
Aber erst die anderen Fehlerquellen ausschliessen.
LG, Sebastian
Ja, einiges,
Soweit man was erkennen kann auf dieses Foto, mach mal eine mit mehr
Licht.
Also, der Rote Spannungszuleitung von Arduino, ist der auch verbunden
mit der rote Spannungslinie Links auf dem Steckbrett? Das seht nicht so
aus.
Zieh doch erst mal den ganzen Kram aus dem Steckbret. (kannst du es
nachher mal ordentlich aufbauen) Dann lasst du nur die Atmega (ist das
schwarze Ding) drauf und probierst erstmal die mit den Arduino zu
verbinden.
Weist du wo Pin 1 ist am AVR?
Hallo Martin,
Ok, sieht soweit gut aus, aber der Mistkerl antwortet nicht. Auf dem
Foto nicht so gut zu erkennen, aber Pin 22 ist an GND, oder?
Wenn ja, dann KÖNNTE es sein das der Atmega8 verfused ist oder nach der
Herstellung nicht mit den Default-Werten gefust worden ist. Meistens
sind die Fuses dann auf 0, und dann erwartet der uC einen externen Takt
auf XTAL1 (Pin 9) und tut ohne HVPP sonst gar nichts mehr. Ist mir auch
schon passiert.
In diesem Fall müsstest du auf dem Uno auf einem der Pins eine
Rechteckfrequenz erzeugen und diese während des ISP-Programmierens an
XTAL1 des Atmega8 anlegen.
Wie das geht muss ich erst kurz nachschlagen ...
LG, Sebastian
Ralph S. schrieb:> hach, hab ich auch einen Fehler gemacht, der Partname bei AVRDUDE heißt:>> m8>> nur beim AVR-GCC heist das atmega8>> Korrekter AVRDUDE-Aufruf ist:>> avrdude -c avrisp -P COM3 -b 19200 -p m8
;-)
Hallo Martin,
um auf Pin 9 deines Uno ein 8Mhz-Rechtecksignal zu erzeugen muss du
https://github.com/adafruit/ArduinoISP benutzen. Eventuell solltest du
im Sketch auch noch LOW_SPEED definieren (also die
Kommentar-Schrägstriche wegnehmen).
Dann verbindest du Uno-Pin 9 mit AVR-Pin 9 des Atmega8 (XTAL1), und
lässt XTAL2 unbeschaltet.
Viel Glück.
Martin Fischer schrieb:> bitte erkläre wenn du es geschafft hast> detailliert, ich mag diesen Part unbedingt verstehen!
Um zu verstehen wie das Rechtecksignal erzeugt wird musst du
http://www.atmel.com/Images/doc8161.pdf Kapitel 17 lesen.
LG, Sebastian
PS: avrdude mit -p atmega8 geht anscheinend auch, aber nimm mal besser
-p m8.
.. und:
avrdude -c avrisp
bei:
avrdude -c arduino
versucht er die ARDUINO - Platine zu flashen .... uuuuuuuund nicht den
ATmega8
Das wurde schon mehrfach hier erwähnt:
Entweder Troll oder Lernresistent !
Noooooormalerweise ... müßte dann as AVRISP Programm im ARDUINO gelöscht
sein und anscheinend rettet dann die für das ARDUINO Board falsch
eingestellte Baudrate das Programm im ARDUINO weil der ARDUINO schneller
läuft !
Das ganz erinnert mich an "alte Zeiten" im Prüfungsausschuß als es noch
so etwas wie "Fehlersuche" gab und man dem Prüfling erklärte, dass dort,
wo er sucht der Fehler nicht ist, er aber stur so lange genau an der
gleichen nicht fehlerhaften Stelle weitergesucht hat, bis die Zeit um
war.
Unglaublich...
Trolle sollen sich trollen denn zum trollen sind sie da
> Ich muss für ein Jugend-Forscht Projekt die Elektronik machen,
Erschreckend was für Nasen bei sowas heutzutage meinen mitmachen zu
müssen.
Wenn man sich schon die derbsten Grundlagen nicht selbst beibringen
kann, wobei doch alles im Internet schon vorgekaut steht, ja was will
denn dann überhaupt "forschen". Ist doch lächerlich.
gruß cyblord
Foto__1_.JPG: Es fehlt noch ein Stützkondensator (z.B. 100nF) direkt am
AtMega8.
Ob das allerdings dann funktioniert ist eine andere Frage. Aber das
Problem, das der fehlende Kondensator verursachen könnte, sollte man in
jedem Fall vermeiden.
@Martin Fischer: hast Du noch einen anderen neuen µC zum Testen? Denn
wenn er durch die vielen Tests entweder verfused oder kaputt ist, kannst
Du noch lange probieren. Zumindest das sollte man ausschließen, denn Du
hast noch genügen andere Baustellen ...
Gruß Dietrich
Martin Fischer schrieb:> Ok. Ich werde mir 2 kaufen, das Kostet dann 10€, bissl teuer, ne?
Also bei ebay kann man sich nen Mega8 für
EUR 1,89 + EUR 1,79 Versand rauslassen.
Macht bei 2 Stück: 5,57 Euro.
Erforsche doch mal Google und eBay....
gruß cyblord
Martin Fischer schrieb:> ACH!!!!> Ich habe den ATmega8-16PU, sind die 16PU irgendwie entscheidend?
Ja die geben die max. Taktfrequenz und den Gehäusetyp an. Schau halt mal
ins Datenblatt unter "Ordering Information".
gruß cyblord
Vergleiche in den Datenblätter der beiden die Pinbelegungen. Musst ja
nur die Pins checken, die Du grad anschließt.
Datenblätter für beide findest Du über Google.
Ich wollte nachfragen, ob das jetzt der 328p ist, hab dann aber in der
Kommandozeile von Dir gesehen, dass er es ist, insofern hab ich die
Frage wieder gelöscht. Sieht aber doch schon besser aus. Was hier jetzt
das Problem ist weiß ich leider nicht. Ich habe AVRs immer über andere
Programmieradapter programmiert.
Thomas Burkhart schrieb:> Ich habe AVRs immer über andere> Programmieradapter programmiert.
Ich versteh auch nicht wie man sich das leben derart schwer machen kann
wie der TE. Ich meine wenn man schon so wenig Plan von der Sache hat,
warum kauft man sich dann nicht einen mySmartUSBlight für 15 Euro und
ist praktisch sofort glücklich? Warum muss man sich dieses Gewürge mit
nem Arduino als Programmer geben?
gruß cyblord
Martin Fischer schrieb:> Weißt du durch was dieser Fehler zustande kommt?
* Unwissenheit
* Beratungsresistenz
* Lernverweigerung
Keiner kennt deinen Aufbau, keiner weis, ob die Dachen richtig
verdrahtet sind etc. ...!
Fange doch bitte mal mit den Basics an, bevor du Dinge versuchst, die du
(noch) nicht verstehst!
cyblord ---- schrieb:> warum kauft man sich dann nicht einen mySmartUSBlight für 15 Euro und> ist praktisch sofort glücklich?
Also ich benutze auch den MySmartUSB light und bin sehr zufrieden.
Meist programmiere ich aus einer Batchdatei heraus mit AVRDUDE.
Manchmal auch mit dem Tool MyAVR ProgTool.
Nur die Optionen für die Spannungsversorgung des Targets macht manchmal
was sie will...
OK!!!
Dieser uC ist wieder verfused!!!!!
Die Arduino-SOftware hat mit Burn Bootloader wie es im Tutorial erklärt
ist verfused!!!!
Wie kann ich ihn jetzt wieder reparieren???
Martin Fischer schrieb:> So dann werf mal hier einen Blick rauf...
das ist für mich kein Schaltplan, sondern ein hübsches Bild eines
Drahtwirrwarrs!
Martin Fischer schrieb:> Dieser uC ist wieder verfused!!!!!
wie kommst du zu der Annahme?
Martin Fischer schrieb:> Die Arduino-SOftware hat mit Burn Bootloader wie es im Tutorial erklärt> ist verfused!!!!
wo steht das?
Martin Fischer schrieb:> Wie kann ich ihn jetzt wieder reparieren???
kommt drauf an, wie die Fuses stehen, wenn sie denn angefasst wurden.
Auch hier würde dann das entsprechende Manual helfen! Wie stehen denn
jetzt die Fuses? (aber bitte jetzt nicht fragen, wie man die ausliest!)
Martin Fischer schrieb:> avrdude -c arduino -P COM3
Bist du sicher, dass das das richtige Device für avrdude ist?
Dieser Beitrag
Beitrag "Re: Arduino-AVR programmieren" weist
darauf hin, dass dein "Arduino-Programmer" einen AVRISP emuliert.
Das solltest du vor allem anderen prüfen!
Grüße
Stefan
Dein Link:
Forbidden
You don't have permission to access /viewtopic.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use
an ErrorDocument to handle the request.
Martin Fischer schrieb:> avrdude: stk500_paged_write(): (a) protocol error, expect=0x14,
also doch ein Problem mit der Verdrahtung (würde ich mal tippen...)!
Wies sind die relevanten Pins für den ISP am Ziel-Target beschaltet?
Welche es sind, siehe Manual! Hängt da noch anderes Zeugs dran? Wie ist
vor allem der RESET-Pin beschaltet?
Friedrich schrieb:> Nochmal... besorg dir einen vernünftigen Programmieradapter!
...oder so!
Martin Fischer schrieb:> Dein Link:> Forbidden>> You don't have permission to access /viewtopic.php on this server.>> Additionally, a 404 Not Found error was encountered while trying to use> an ErrorDocument to handle the request
...ach deshalb liest du keine Manuals, Internet kannst du auch nicht
bedienen (bei mir geht der Link!)
Tipp: suche mal nach den Worten "avrdude expect=0x14"...
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
Seit wann ist es jetzt wieder ein m328p ?
Bisher war es doch ein m8
Markus schrieb:> Seit wann ist es jetzt wieder ein m328p ?> Bisher war es doch ein m8
Der wurde zwischendurch mal ausgetauscht und in Minimalbeschaltung
getestet.
In dem Link bzw. anderen Links zu dem Fehler steht oft was von
Firmwarefehlern in diesem komischen Programmer Sketch.
Allerdings sind die Beiträge von 2011, vielleicht gibt es da auch
Updates...
Aber da musst du selber lesen und probieren.
Investier die 16€ plus Versand in den MySmartUSB!
Friedrich schrieb:> Investier die 16€ plus Versand in den MySmartUSB!
...funktioniert aber auch nur, wenn seine Beschaltung an den ISP-Pins
den Datenblatt-Vorgaben entspricht. (nur mal so eingeworfen)
Pontius Pilatus schrieb:> Ich glaubs nicht; Wir sind jetzt bald bei 200 Beitragen.> Wegen Programmieren eines Atmega8.....
:-), und ich dachte schon das Internet geht so langsam..., muss mich
wohl doch mal anmelden, um die Thread-Stückelung einzuschalten...
avr schrieb:> Friedrich schrieb:>> Investier die 16€ plus Versand in den MySmartUSB!>> ...funktioniert aber auch nur, wenn seine Beschaltung an den ISP-Pins> den Datenblatt-Vorgaben entspricht. (nur mal so eingeworfen)
Beschaltung ist gut. Das funktioniert sobald er die 6 ISP Pins mit den
korrekten Beinchen seines Controllers verbinden kann.
Und dann weiß man wenigstens dass der Programmer funktioniert. Wer weiß
schon was dieser Arduino, der sich für einen Programmer hält, so tut?
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!!!
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!
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
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
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
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
Martin Fischer schrieb:> Reset ist mit Pullup 10kOhm an +5V und mit dem Arduino Pin verbunden...> Reset am Arduion ist mit 10uF Elko an GNDcyblord ---- 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
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
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?
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.
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
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
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...
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
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 ...
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... ;-)
... 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
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
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
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!
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...
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...
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
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.
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
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
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
...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
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
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
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
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-cavrisp-PCOM3-b19200-pm8-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
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.
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...
Ü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.
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.
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...
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!
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!
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.
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.
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
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?
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
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.
>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.
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
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.
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
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 ...
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!
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...
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?
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
>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
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.
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
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
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