Hallo Forum Ich arbeite seit gut einem Jahr mit ATmegas, angefangen mit fertigen Arduinos. Super für den Einstieg. Nun hab ich noch einen Arduino Mini ( http://arduino.cc/en/Guide/ArduinoMini ) rumliegen und möchte den Zwecks optimiertem Code via ISP direkt programmieren. Zum Test hab ich ein simples Program geschrieben (PB5 wird im Abstand von 1s on/off geswitcht) und es auf dem Arduino Duemilanove der auch noch so rumlag getestet. Via ISP kein Problem. Auf dem Duemilanove ist jetzt also kein ArduinoBootloader mehr drauf sondern nur noch das Blinkprogramm. Nun zum Mini: Wie im angehängten Bild zu sehen ist, muss man da selber was basteln da der Mini keinen ISP Header hat: http://www.arduino.cc/en/Hacking/MiniBootloader Ich hab mich brav daran gehalten und es 1:1 nachgebaut. Trotzdem kann ich den Mini nicht via ISP programmieren. Lustigerweise geht es aber über den USB-Adapter mittels der ArduinoSoftware und dem ArduinoBootloader (der befindet sich ja immernoch auf dem uC weil ich ihn ja nicht umprogrammieren kann). Die Verkabelung hab ich nun nach etlichen Stunden zum ~6. Mal überprüft. Wer hat ne Idee? Danke im vorraus. Gruss Chris PS: Hier noch der Output von avrdude: > avrdude -cstk500 -pm168 -PCOM8 -Uflash:w:blink.hex avrdude: Version 5.8cvs, compiled on Jan 8 2010 at 22:30:26 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\avr\20100110\bin\avrdude.conf" Using Port : COM8 Using Programmer : stk500 AVR Part : ATMEGA168 Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- --------- eeprom 65 5 4 0 no 512 4 0 3600 36 00 0xff 0xff flash 65 6 128 0 yes 16384 128 128 4500 45 00 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 45 00 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500V2 Description : Atmel STK500 Programmer Model: AVRISP Hardware Version: 15 Firmware Version Master : 2.10 Vtarget : 0.0 V SCK period : 260.5 us avrdude: stk500v2_command(): command failed avrdude: stk500v2_recv(): checksum error avrdude: stk500v2_program_enable(): bad STK600 connection status: Unknown (0x64) avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude done. Thank you.
Kenn die Adruinos zwar nich, aber zieh einfach mal alles aus das Board ausem Steckbrett und Verkabel alles nochmal neu, und check mal ob zwischen den Pins an denen SPI is und den Pin Headers noch irgendwelche Bauteile oder so dazwischen sind. Das rausziehen hat bei mir auhscon paarmal geholfen ...
Unglaublich, da mach ich mir mal die Mühe und sammle alle Informationen um sie hier niederzuschreiben und kurz nachdem ichs abgeschickt habe fällt mir was auf: die LED! Beim ArduinoMini kann man am PB5 (ArduinoPort 13) eine LED ohne Vorwiderstand betreiben (Vorwiderstand bereits auf der Platine). Tjaja... Nun, wenn der PB5 aber als SCK vom ISP-Programmer genutzt wird, geht der Strom den Weg des geringsten Widerstandes, und das ist nicht der PB5 sondern die LED. LED raus und schon legt der avrdude los :) Das ist mir nicht aufgefallen, denn als ich die LED noch nicht drin hatte, hatte ich MISO/MOSI vertauscht... EoT PS: Danke David, das war genau der richtige Ansatz!
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.