wie kann ich mein selbstgebautes avr mit dem arduino uno programmieren?
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....
ja, da hat was nicht funktioniert, kann ich hier die fehlermeldung und alles dazu posten und ihr helft mir?
Martin Fischer schrieb: > überhaupt avr zu programmieren ohne teuren programmer? Mit einem Bootloader
ok, ich habe mein atmega8 board habe arduino as isp und so einn tut befolgt, avrdude spuckt mir nen error aus, den ich am morgen posten werde, ok?
> 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
:
Bearbeitet durch User
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.
also was muss ich machen? kannst du mir das erklären bitte da mein english vom lesen her gut ist aber verstehen kann ich nicht so gut
g457 schrieb: > Insbesondere GND fehlt auf dem ISP-Stecker im Schaltplan. Die Erkenntnis ist nicht neu Beitrag "Re: AVR-Board Schaltplan"
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
ok, aber kannst du mir noch ein tutorial empfehlen zu avr-studio? ich komme damit nicht ganz zurecht, finde upload nicht und etc
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
dieses projekt ist äußert komplex, ich mag einfach nur nen atmega 168 oder atmega 8 zum laufen bringen...
jemand sagte an meinen fuses ist was falsch, um genau zu sein komme ich auch mit der quarz-einstellung net zurecht, kann mir da wer helfen?
>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?
bei mir hat auch die quarz-einstellung nicht funktioniert. Mit der Quarz-Einstellung hat es dann funktioniert.
am bst prst du prg qrzt uh mhz wg zl frq u 3 wg hz fr zu hi an prg avr mod. ds hilft jz sicher.
welche einstellung...helf mir doch mla bissl anstatt so komisch zu schreiben!?
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 ;)
ok, ich mag aber 16Mhz externen Quarz benutzen, muss ich dafür was ändern?
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.
Diese beiden Anleitungen schon gesehen? http://arduino.cc/en/Tutorial/ArduinoToBreadboard oder auch http://arduino.cc/en/Tutorial/ArduinoISP
jetzt ohne Fuses und Quarz: FEHLER!
1 | avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i |
2 | |
3 | avrdude: AVR device initialized and ready to accept instructions |
4 | |
5 | Reading | ################################################## | 100% 0.02s |
6 | |
7 | avrdude: Device signature = 0x000000 |
8 | avrdude: Yikes! Invalid device signature. |
9 | Double check connections and try again, or use -F to override |
10 | this check. |
11 | |
12 | |
13 | avrdude done. Thank you. |
14 | |
15 | make: *** [flash] Error 1 |
... 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.
ok, werde ich morgen durchführen, endlich mal eine fachkundige Antwort, danke
... 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
ist das mit m8 auch in meiner Makefile falsch...ja, oder? und kannst du mir dein Programm nochmal erklären?
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
da ich nochnie zuvor mit HEX Files gearbeitet habe...wie erstelle ich diese? Danke, dir auch einen 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?
ok, bei deinem Programm: bei Signature:
1 | FEHLER |
2 | |
3 | AVRISP-Gerät oder kein Controller gefunden |
bei Upload:
1 | Flashvorgang beendet... |
-> nichts ist Passiert..... ...ist mein ATmega8 kaputt???
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
was muss ich einstellen wenn ich einen externen Quarz benutze, der 16Mhz hat, muss ich da was in main.c mit dem define f_cpu einstellen?
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 !
Du hast doch geschrieben, daß du so gut programmieren kannst. Dann schau mal nach, ob vielleicht ein Virus im Arduino ist. Man weiß ja nie.
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
der Stand der dinge ist, dass mit Arduino als IPS alles funktioniert! Mit dem Atmega stimmt was nicht....wegen dem Quarz?
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?
Du brauchst doch gar kein "BreakOut-Board". Nochmals siehe: http://arduino.cc/en/Tutorial/ArduinoToBreadboard Führe dies Schritt für Schritt aus.
Und mit welchen µC funktioniert das Draufbrennen von Arduino-Bootloader?
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".
ok, Moment: Ich mache auf mein Arduino Uno R3 SMD den ISP-Sketch, und der Arduino ist ein vollwertiger Programmer wie der hier: http://www.conrad.de/ce/de/product/191406/USB-Programmer-mySmartUSB-light?ref=searchDetail
Martin Fischer schrieb: > ok, Moment: > Ich mache auf mein Arduino Uno R3 SMD den ISP-Sketch, und der Arduino > ist ein vollwertiger Programmer wie der hier: > http://www.conrad.de/ce/de/product/191406/USB-Programmer-mySmartUSB-light?ref=searchDetail Ja. (Einfach etwas aufwendiger und nicht so komfortabel) Und muss danach unter Tools/Programmer ausgewählt werden. (Ob genau der http://www.conrad.de/ce/de/product/191406/USB-Programmer-mySmartUSB-light?ref=searchDetail mit der Arduino-Software zusammen funktioniert weiss ich nicht. Sollte aber)
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)
Markus, könnte ich evtl. deine E-Mail haben um detaillierte speziefische Fragen zu stellen...schreibe mir bitte an fischer.martin.98@hotmail.de
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.
ok, ich habe Respekt vor euch...WEIL IHR ES EINFACH KÖNNT ich mag es einfach nur lernen...sry
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 ich habe noch eine Frage, bin jetzt aber schlafen, ich frage morgen dann, gutenNacht
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.
Thomas Burkhart schrieb: > mit Elektronik beschäftigen will Wo hast du erkannt, dass er sich mit Elektronik beschäftigen "will"?
@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.
Das hier sollte deine Probleme lösen: http://www.conrad.at/medias/global/ce/1000_1999/1600/1600/1604/160402_BB_00_FB.EPS_1000.jpg
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?
Oke, werde das im Laufe des Tages mal hier veröffentlichen. Muss noch ein wenig angepasst werden :) Gruss
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.
Also mit dem braunen Kabel ist alles in Ordnung, das hat grade keine funktion, zwischen den zwei gezeigten PinReihen ist keine Spannung!?!?!?!?
Ich habe das mit dem keinen Strom gefixt, jetzt kommt aber der Fehler: Device signature = 0x000000
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?
Also jetzt einfach nur Strom und Miso Mosi bla bla ohne Kondensatoren und so VErbinden?
Ok. Mit dem im Bild gezeigtem aufbau kam ich bei im Anhang angehängten Dateien mit
1 | make flash |
soweit:
1 | avr-gcc -Wall -Os -DF_CPU=1000000 -mmcu=atmega8 -c main.c -o main.o |
2 | avr-gcc -Wall -Os -DF_CPU=1000000 -mmcu=atmega8 -o main.elf main.o |
3 | rm -f main.hex |
4 | avr-objcopy -j .text -j .data -O ihex main.elf main.hex |
5 | avrdude -c arduino -P COM3 -b 19200 -p atmega8 -U flash:w:main.hex:i |
6 | |
7 | avrdude: AVR device initialized and ready to accept instructions |
8 | |
9 | Reading | ################################################## | 100% 0.02s |
10 | |
11 | avrdude: Device signature = 0x000000 |
12 | avrdude: Yikes! Invalid device signature. |
13 | Double check connections and try again, or use -F to override |
14 | this check. |
15 | |
16 | |
17 | avrdude done. Thank you. |
So, und jetzt noch mal gleich, aber mit dem Quarz und die zwei Kondensatoren angeschlossen.
Na Gottseidank... Lese das hier noch mal vor dem schlafen gehen: http://forum.arduino.cc/index.php?PHPSESSID=0sp1ima3eijqph652oue4nve65&topic=125248.15
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
Hallo! Danke Sebastian für diese Hilfe, bitte erkläre wenn du es geschafft hast detailliert, ich mag diesen Part unbedingt verstehen!
Pin 22 hat er nicht am Masse, aber ist zum programmieren auch nicht nötig. Einfach wäre wenn er eine andere AVR hätte zum probieren.
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 ;-)
Ist vielleicht sein nachstes Projekt; HVPP kann mann namlich auch mit Arduino machen.
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.
:
Bearbeitet durch User
.. 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
Ok. Sebastian, es funktioniert immer noch nicht! Hier wieder meine Dateien (dort habe ich auch Clock zu 8000000 geändert) und ein Bild! Der Fehler:
1 | avrdude -c avrisp -P COM3 -b 19200 -p m8 -U flash:w:main.hex:i |
2 | |
3 | avrdude: AVR device initialized and ready to accept instructions |
4 | |
5 | Reading | ################################################## | 100% 0.08s |
6 | |
7 | avrdude: Device signature = 0x000000 |
8 | avrdude: Yikes! Invalid device signature. |
9 | Double check connections and try again, or use -F to override |
10 | this check. |
11 | |
12 | |
13 | avrdude done. Thank you. |
14 | |
15 | make: *** [flash] Error 1 |
Im Bild ist der blaue Draht auf Pin2.. sollte das nicht RESET sein, also auf Pin1 am Mega8.
Hast Du keine Chance, einen oder besser zwei neue atmegas zu besorgen?
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
guloshop.de hat den ATmega8 A zur Zeit für €1.25 im Angebot, plus €2.40 Versand. pansen
Quarz und 2 Kondensatoren anschließen, vielleicht hat er durch die ewigen Experimente "doofe" Fuseeinstellungen jetzt !
ACH!!!! Ich habe den ATmega8-16PU, sind die 16PU irgendwie entscheidend?
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
!!! Hab noch nen ATmega328P rumliegen, kann ich den einfach mit meinem ATmega8 austauschen?
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.
Fehler: avrdude -c avrisp -P COM3 -b 19200 -p atmega328p -U flash:w:main.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.08s 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
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...
Martin Fischer schrieb: > So dann werf mal hier einen Blick rauf... Und du guck mal hier: http://www.mikrocontroller.net/articles/Bildformate Deine Bilder sind zu groß und richtig drehen schadet auch nicht!
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!)
um genau zu sein gibt er nur wrong device signature 0x000000. seitdem ich mit der Arduino Software Bootloader updaten wollte!
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
avrdude -c avrisp -P COM3 -b 19200 -p atmega328p -v sagt wrong device signature!
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
Martin Fischer schrieb: > avrdude: stk500_cmd(): programmer is out of sync Lern dir selber zu helfen... google mal danach... ich finde da z.B. http://forums.adafruit.com/viewtopic.php?f=25&t=24805 Nochmal... besorg dir einen vernünftigen Programmieradapter!
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! ja BITTE. Hier wir machen es dir ganz leicht: http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006
Ich glaubs nicht; Wir sind jetzt bald bei 200 Beitragen. Wegen Programmieren eines Atmega8.....
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?
Martin Fischer schrieb: > ACK? Ohne Worte... Nicht schlimm, wenn man etwas nicht weiß, aber wenigsten kurz im Netz suchen kann man doch, oder?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.