Właśnie wziąłem parę płyt klonowych Arduino Mini Pro 5v (Inland, sprzedawany w Microcenter, obecnie 4 USD) i chciałem używać mojego Uno jako dostawcy usług internetowych, tak jak wcześniej z chipami ATmega328 i ATtiny85. Zaprogramowałem Uno za pomocą instrukcji na stronie z samouczkiem ArduinoISP i podłączyłem Uno do Mini Pro, korzystając z instrukcji na tej stronie . Nie mogę pobrać Arduino IDE lub avrdude z wiersza poleceń, aby pomyślnie zaprogramować te płyty bez względu na to, co spróbuję. Tyle że mogę użyć Arduino IDE do wypalenia nowego programu ładującego do Mini Pro.
Podłączyłem również diody LED stanu (piny 7, 8 i 9) i widzę, że programista ma błąd (pin 8), gdy próbuję zaprogramować cokolwiek poza bootloaderem.
Oto moja linia poleceń avrdude, w której próbowałem ustawić bezpieczniki w Mini Pro:
avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
Od avrdude otrzymuję:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c
avrdude done. Thank you.
W przeszłości nie miałem żadnych problemów z używaniem tej samej konfiguracji, ale z układem ATmega328 lub ATtiny85 na płycie z avrdude, więc nie mam pojęcia, co się tutaj dzieje.
Przyjrzałem się również kodowi ArduinoISP i nie jestem pewien, co to jest resp = 0x1c. Nie widzę wartości 0x1c zdefiniowanej w sekcji Definicje STK kodu, więc nie jestem pewien, co może być przyczyną.
Wszelkie wskazówki tutaj będą mile widziane. I tak, wiem, że mogę używać płyty Uno z układem ATmega328 wyciągniętym do wykorzystania jako programista. Ale chcę móc zastąpić obszar bootloadera własnym kodem, tak jak mogę to zrobić zwykłym układem ATmega328.
Dzięki!