Programowanie mikrokontolerów na przykładzie ATTINY2313

Programowanie mikrokontolerów na przykładzie ATTINY2313

Jeśli chcemy zbudować prosty układ to szkoda angażować do tego całe Arduino. Możemy wykorzystać jakiś mikrokontroler (samo Arduino też taki posiada).

Mikrokontroler jest to pojedynczy układ scalony, zawierający jednostkę centralną (CPU), pamięć RAM oraz na ogół pamięć programu i rozbudowane układy wejścia-wyjścia.

Ja wykorzystałem mikroprocesor ATTINY2313V firmy Atmel który kosztuje ok. 6-8 złotych.

Co nam będzie potrzebne?

ATTINY posiada zegar systemowy (który taktuje z odpowiednią częstotliwością), więc potrzeba nam tylko mikrokontroler i Arduino. Tak, żadnych innych części (no poza przewodami… ;) )

 

ATTINY2313

Karta katalogowa: www.atmel.com/Images/doc2543.pdf

Są dwie wersje ATTINY2313. Różnią się tylko kilkoma elementami:

Attiny2313 Attiny2313V
Zasilanie 2,7 – 5,5V 1,8 – 5,5V
Częstotliwość pracy 0–10 MHz dla 2,7 – 5,5V
0–20 MHz dla 4,5 – 5,5V
0–4 MHz dla 1,8 – 5,5V
0–10 MHz dla 2,7 – 5,5V
Liczba instrukcji 120
Ilość pamięci flash 2 kB
Ilość programowalnej pamięci EEPROM 128 B
Żywotność pamięci EEPROM i flash 100 000 cykli (zapis/kasowanie)
Ilość pamięci SRAM 128 B
oscylator wewnętrzny
Ilość linii wejście/wyjście 18 programowalnych
Ilość kanałów PWM 4
Programowe blokowanie odczytu pamięci programu (Flash) – TAK

danych(EEPROM) – TAK

 

Firma Atmel produkuje mikroprocesor ATTINY2313 w dwóch wersjach. Z wyjściami/wejściami (nóżkami) na dwóch bokach lub czterech. Szukałem w internecie wersji MLF – nie znalazłem w żadnym sklepie, ani nawet zdjęć – wyłącznie specyfikacje techniczną.

ATTINY2313

Wersja PDIP/SOIC występuje także w odmianach SMD (ATTINY2313-20SU) lub THT (ATTINY2313-20PU). Różnią się one wielkością ale nie mają wpływu na działanie mikrokontrolera. Wygodniejsza jest wersja THT, ze względu na łatwy montaż w płytce stykowej.

attiny2313

 

Podłączenie gdy mikrokontroler posiada zegar
na przykładzie Atmel ATTINY2313

BIAŁY PRZEWÓD PODŁĄCZAMY PÓŹNIEJ

 

Arduino Mikrokontroler
10 (RESET/dW)
11 PB5 (MOSI/DI/SDA/PCINT5)
12 PB6 (MISO/DO/PCINT6)
13 PB7 (UCSK/SCL/PCINT7)
GND (masa – są 3 takie piny w Arduino) GND
5V VCC

Software

Gdy wgrywamy program na Arduino nie musimy się martwić o dodatkowe pliki. Inaczej jest w przypadku gdy programujemy zewnętrzny mikrokontroler.

 
Ściągnij te paczki i je rozpakuj:

  1. tiny.zip
  2. WProgram.zip

Jednym z plików w paczce tiny.zip jest plik boards.txt, który zwiększa liczbę obsługiwanych mikrokontrolerów – pojawią się między innymi: ATtiny25, ATtiny45, ATtiny4314, ATtiny84, ATtiny85 oraz nasze ATtiny2313.

Liczba obsługiwanych urządzeń

Większej ilości urządzeń trzeba szukać w internecie (są gotowe paczki jak i konfiguracje do pojedynczych mikrokontrolerów) – i dopisywać je do pliku boards.txt.

 

Tworzymy katalogi:

Mac OS X:
    user / Dokumenty / Arduino / hardware / tiny
    user / Dokumenty / Arduino / libraries / WProgram
Do folderu hardware przenieś zawartość paczki tiny.zip, a do libraries WProgram.zip

Powinno to wyglądać tak:

Arduino

 

Jeśli ktoś chce sobie wgrać “gotowca” to wystarczy wystarczy ściągnąć tę paczkę: Arduino
i ją przenieść do folderu:
Mac OS X: user / Dokumenty

 

Arduino na Windowsa jest w wersji portable, więc wystarczy pliki skopiować do katalogu z aplikacją.

 

Wgrywamy pliki

  1. Sprawdź czy masz dobrze wybrany port przez który podłączasz Arduino:
    Tools > Serial Port >

    oraz dobrą płytkę (mikrokontroler):
    Tools > Board >

    Arduino

  2. Otwieramy program i z menu wybieramy:
    File > Examples > ArduinoISP

    ArduinoISP

    Musimy znaleźć linijkę:

    i zamienić ją na (zmniejszyć 40 na 20):

    Czyli ten fragment kodu będzie wyglądać:

  3. Wgrywamy ArduinoISP na Arduino. Po poprawnym przesłaniu, będziemy mieli komunikat:
  4. Musimy teraz zmienić tryb działania Arduino. Wybieramy:
    Tools > Programmer > Arduino as ISP
    ArduinoAsISP

  5. Program który przed chwilą wgraliśmy dotyczył Arduino. Teraz musimy wybrać jakim kontrolerem będziemy się zajmować:
    Tools > Board

    Attiny2313

  6. Niektóre wersje Arduino (np. UNO – NIE, Duemilanove – TAK) muszą mieć połączone w momencie wgrywania programu dodatkowo dwa piny, w celu wyłączenia trybu auto-resetowania (powinno się opornikiem, ale przewodem też działa):

    Arduino Arduino
    RESET VIN

     

  7. Wgrywamy bootloader, czyli program startowy na danym mikrokontrolerze:
    Tools > Burnbootloader

    BurnBootloader

    Pamiętaj że operacja wgrywania bootloadera jest jednorazowa. Tej czynności nie wykonujesz już w przyszłości. Robi się to tylko raz, na początku.

  8. Możemy teraz wgrać nasz program!
    Pamiętaj że używamy pinów z mikrokontrolera a nie Arduino. Arduino będzie nam służyć tylko i wyłącznie jako źródło prądu (możemy użyć baterii i wtedy Arduino jest całkowicie zbędne). W schemacie musimy sprawdzić jak dany pin (nóżka) nazywa i wpisać to w programie. Pamiętaj że nie każda nóżka będzie działać w programie – część obsługuje zasilanie, a w większych mikrokontrolerach tylko część może być używana w taki sposób jak w programie poniżej. Na przykładzie blink:

    attiny2313-piny

    Program sprawiający że odpowiednio podłączona dioda będzie mrugać:

  9.  

    Arduino

    Arduino

Ocena: 4.71/5 (głosów: 14)

Podobne posty

104 komentarzy do “Programowanie mikrokontolerów na przykładzie ATTINY2313

  • Cześć,
    co to za płytka od której to wszystko wpinasz? Czy ogległości między pinami są znormalizowane? Bo tu wszystkie są równe. Przepraszam za banalne pytanie, ale dopiero chcę zacząć przygodę z elektroniką, więc brak mi podstawowej wiedzy,
    Gratuluje świetnego pomysł z tą stroną
    Pozdrawiam!

    Odpowiedz
  • Błędy i pomyłki w poście można wyeliminować – grunt, że jest to zrozumiałe dla każdego laika, którego ciekawi wkroczenie w świat mikrokontrolerów. Bo chyba właśnie takie jest założenie Majsterkowa – prosto, tanio i praktycznie ;)

    Odpowiedz
    • a jak próba wgrania bootloadera do tiny wywala kilometr błędów mimo, że wszystko powyżej zrobione tak samo i potórzone trzy razy to … co sprawdzić?

      Odpowiedz
        • @Łukasz Więcek:
          prosze bardzo:

          avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

          avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
          avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
          avrdude: initialization failed, rc=-1
          Double check connections and try again, or use -F to override
          this check.

          avrdude: stk500_disable(): unknown response=0x12

          miedzy komputerem a tiny jest arduino uno na 100% podlaczone tak jak na obrazkach powyzej swoja droga ten animowany obrazek jest piekny ale zwykjly schemat (obrazkowy i kolorowy) ale nei migajacy bylby chyba wygodnijszy

          Odpowiedz
    • Osobiście Arduino dopiero zamówiłem, ale z tego co wiem, to fakt, że nie ustawiłeś stanu danego pinu nie oznacza, iż jest on całkowicie “wyłączony”.
      A, jeżeli nie jest on odcięty to jakiś stan musi mieć, a możliwości to 0 lub 1, i jest duża szansa, że w przypadku Arduino domyślnie jest 1 ;)

      Odpowiedz
    • Tak prawdę mówiąc, to początkowo nie mogłem rozpracować programowania za pomocą Arduino, dlatego ściągnąłem sobie programator (ale inny, niż pokazywałem na Fb). Później Maciej rozgryzł to programowanie przez Arduino i programator zalega teraz w szufladzie ;)

      Ale w sumie mogę przygotować post i pokazać, jak przerzucić program zwykłym programatorem :)

      Odpowiedz
  • Z ATMegą8A nie ma większych problemów, tylko trzeba działać na zewnętrznym oscylatorze 16MHz. Wtedy nie trzeba kombinować z boards.txt, bo działa domyślny “Arduino NG or older w/ ATmega8”. Jedna wskazówka, straciłem przez to godzinę życia: bootloader trzeba wgrać PRZED KAŻDĄ aktualizacją programu, inaczej wgra się z błędami. No i na Uno nie trzeba między RESET, a GND podłączać kondensatora 10uF jak mówi tutorial na arduino.cc. Jedyny mankament to to, że od włączenia zasilania do włączenia programu mija około 6 sekund, nie wiem czym to jest spowodowane.

    Odpowiedz
    • @Maxik: Kilka dni temu udało mi się wreszcie rozpracować ATmega8a i ATmega328 i tak:
      – tego kondensatora do resetu nie trzeba rzeczywiście dawać w UNO
      – po dodaniu do board.txt odpowiednich wpisów nie trzeba dawać zewnętrznego osylatora
      – bootloader wystarczy wgrać tylko raz i programy pięknie wgrywają się zarówno za pomocą Arduino, jak i programatora USBasp :)

      Odpowiedz
  • Witam, czy gdy już zrobię wszystko zeby to zaprogramowac to gdybym czcial wtedy normalnie programowac samo arduino to co muszę pozmieniac w ustawieniach
    ? przepraszam za taki troche nie zrozumiały komentarz ale jestem w mikrokontroleracz kompletnie zielony

    Odpowiedz
  • Witam,
    dopiero zaczynam przygodę z Arduino itp.
    więc pozdrawiam serdecznie wymiataczy :)

    płykta z mikrokontrolerem może działać samoistnie po doprowadzeniu zasilania z baterii 9v czy 12v czy jak?

    czy po zmontowaniu takiego zestawu Arduino bedzie potrzebne tylko do przesylu danych na plytke?
    tzn. czy wystarczy z tej plytki z ATTINY2313 wyprowadzić złącze do Arduino i przesłać program?

    Odpowiedz
  • Witam, nie rozumiem jednej rzeczy- mianowicie dlaczego opornik i dioda połączone są z pinem 20 ?? czy wszystkie rzeczy podpięte pod mikrokontroler muszą być do tego pinu dołączone, czy mozna to jakos ominąć?

    Odpowiedz
  • Przeprasza, chodzi mi o pin 11, z tego co zauważyłem nie potrzeba nic mieć podłączone do pinu 8 który mamy zadeklarowany w programie bo działa to tylko dla pinu 11, a w przypadku zmiany w programie nr pinu z 8 na coś innego kompletnie nic nie działa :/

    Odpowiedz
    • wlasnie podbijam temat kolegii damnbo1993 – nie chcę być negatywnie nastawiony i w ogóle ale jak się robi tutorial który mają powtarzać setki osób to pasowałoby zrobić go dobrze – bo jako tutorial ma on wyjść dobrze i być bezproblemowy.

      Całe życie miałęm przekonanie że jak arduino i elektronika to stronka po angielsku – bo jest profesjonalnie i wszystko jasne od razu. A tutaj co – Jeśli na jednym obrazku dajecie info by użyć PIN8 na programowanym IC to ja podłączam pod pin8 – i nic nie działa… no i potem 1.5 godziny szukania skąd ten komunikat >>> avrdude: stk500_initialize(): programmer not in sync, resp=0x15
      kombinowanie na każdy możliwy sposób itd. tylko po to by znaleźć informacje że na jednym obrazku dajecie schemat gdzie jest pin 8 a na drugim pin 11… no i oczywiście jedynym poprawnym jest ten pin 11 pokazany jedynie na lekko lipnej animacji zrobionej we fritzingu – bo fritizing to profesjonalizm, aye ?

      na przyszłość wrzućcie chociaż normalny schemat wygenerowany z fritziga

      Odpowiedz
  • Chcę za pomocą Arduino Duemilanove programować atmegę8A. Udało mi się wgrać bootloader ( http://machtudong.vn/sanpham/atmega8a-pu-tuong-thich-voi-board-arduino.html ) i utknąłem na przypisaniu programu na Atmegę8A.

    Skąd wiadomo, które oznaczenie na naklejce (chodzi o te PD1 PD2, PD3, PC… PB…) to Digital pin do wpisania w programie pinMode(?????, OUTPUT); Na płytce Arduino jest wygodny opis bezpośrednio (wypisane numerki), podane które są pwm, gdzie są piny do używania z pomocą AnalogRead jak zrobić sobie taki opis dla Atmegi8?

    Wszystko dotąd wydawało mi się takie proste, a tu niespodzianka. Przejrzałem datasheet do atmegi, która jest w płytce arduino i tam też tylko są opisy PD.. PA.. PB i które z nich to na przykład pin 11, 12, 13 nie mogę dojść.

    Proszę o wskazanie miejsca gdzie można znaleźć taką informację dla Atmegi8A i Atmega328P.

    Odpowiedz
    • Na początku datasheet masz rozrysowane obudowy mikrokontrolera wraz z zaznaczonymi pinami i ich wszystkimi funkcjonalnościami. Dodatkowo na następnych stronach w rozdziale Pin Descriptions jest omówienie pinów.

      Czy to załatwia Twój problem?

      Odpowiedz
  • Nie, nie załatwia problemu, bo co z tego, że w datasheet są rozpisane wyjścia, jeśli w Arduino są inne oznaczenia i co innego wpisuje się do programu? :-)
    No dobra, ale znalazłem w końcu pod jakim hasłem trzeba szukać: mapowanie pinów czyli pinmapping i pinout.

    Tu jest ładny rysunek dla Atmegi328:

    http://www.hobbytronics.co.uk/arduino-atmega328-pinout

    a ja szukałem dla Atmega8a i znalazłem tutaj:
    http://arduino.cc/en/Hacking/PinMapping – z tego rysunku można dowiedzieć się ze PB4 to pin 11 do użycia w programie: pinMode(11, OUTPUT); i np. że pin 5 nie ma PWM jak w arduino. Dla początkującego te oznaczenia są mocno niejasne i takiego właśnie wyjaśnienia szukałem.

    Może komuś się przyda:

    Atmega88: http://www.morethantechnical.com/2012/04/04/bootloading-an-atmega88-for-arduino-w-code/

    http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard

    Odpowiedz
  • Witam, czy w ten sposób można zaprogramować atmegę 16? Jeżeli jest to możliwe proszę o pomoc :) (co potrzebuję) Jestem początkującym .

    Odpowiedz
  • Witam, mam pytanko czy atmega328 p taką jak jest w arduino uno można programować po prostu przez podmianę elementów. wyciągam oryginalny wkładam nowy z wgranym bootloaderem i mogę programować?

    Odpowiedz
  • Z racji że stawiam pierwsze kroki z mikrokontrolerami mam takie pytanie czy udało się komuś zmusić do migania LED na Attiny2313A? Zrobiłem wszystko zgodnie z opisem… i nie działa. Wszystko ładnie się ładuję brak błędów itp a dioda nie miga.

    Odpowiedz
    • Problemem okazały się wyprowadzenia… artykuł wprowadza w błąd (nawet na dołączonej grafice) że pin 8 to fizyczny pin 8 a tak naprawdę jest to pin 11.

      Odpowiedz
  • Powiem Wam tak – środowisko Arduino jest bardzo fajne, ale tylko wtedy gdy programujemy Arduino, a nie zewnętrzny procesor. Już mówię dlaczego – jeżeli programujemy zewnętrzny procesor, to jego wyprowadzenia wcale nie są takie jak w Arduino. Co to znaczy? No właśnie to, co powyżej. Jeżeli procesor mamy z takimi samymi wyprowadzeniami, to i tak jest problem, bo w Arduino piszą digitalRead(10) oznacza, że chcemy odczytać tak naprawdę PB2 na porcie B, który z kolei jest fizycznie pinem 16. Atmegi328. Moim zdaniem to za duży kłopot. Ja od pewnego czasu próbuję swoich sił w czystym C/C++ i chociaż na początku ciężko się było połapać, programowanie staje się bardziej oczywiste – wystarczy nota katalogowa i można oprogramować każdy procesor.
    Polecam spróbować. Arduino też tak można oprogramować, żeby zobaczyć, że początkowa czarna magia staje się bardziej biała.

    Odpowiedz
  • Witam, zaprogramowałem Attiny2313-20PU przez programator usbasp. Wszystko poszło gładko, bez błędów, jednak dioda nie działa (Blink sketch), nie wiem w czym może byc problem, proszę o propozycje, dzieki

    Odpowiedz
  • Czemu po wgraniu bootloadera do Atmegi 328p przestał działać PWM??
    Wejścia i wyjścia cyfrowe działają, analog write do 127: stan niski, od 128: wysoki.

    Odpowiedz
  • Witam mam problem przy ładowaniu programu wyskakuje mi błąd i nie mogę z tym poradzić
    sketch_may08a.ino:2:21: error: Arduino.h: No such file or directory

    Odpowiedz
  • Witam, u mnie cały czas pojawia się problem:
    “avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.” Wie ktoś może jak temu zaradzić ? Próbowałem reinstalować IDE, sprawdziałem podłączenia, wszystko wygląda prawidłowo. Dodam, że programuję uC AtMega8 używając paczki zamieszczonej w innym artykule Majsterkowa.

    Odpowiedz
  • Wolałbym, żebyś więcej tłumaczył co dlaczego a nie tylko, żeby to zrobić tak a tamto tak, ale ogólnie ciekawy poradnik. Tylko nie rozumiem stwierdzenia, że Arduino jest tylko do zasilania, jak komputer po USB jest podłączony do Arduino a do niego ATtiny. Jak niby miałby wgrywać program bez Arduino?

    Odpowiedz
  • Mam problem z wgranie programu na Attiny2313. Skorzystałem z powyższego poradnika. Udało się wgrać bootloader, ale jakiegokolwiek programu już nie… Starałem się również znaleźć informację o tym problemie w innych źródłach, ale bez skutecznie. Poniżej treść błędu występującego w moim przypadku. Będę wdzięczny za jakieś wskazówki.

    Płytka tiny:avr:attiny2313at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: AVR_ATTINY2313AT1
    Uwaga: platform.txt z rdzenia ‘Arduino Tiny’ zawiera przestarzałe tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude, przekonwertowane automatycznie na tools.avrdude.cmd.path={path}/bin/avrdude. Rozważ uaktualnienie tego rdzenia.
    Uwaga: platform.txt z rdzenia ‘Arduino Tiny’ zawiera przestarzałe tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf, przekonwertowane automatycznie na tools.avrdude.config.path={path}/etc/avrdude.conf. Rozważ uaktualnienie tego rdzenia.
    Uwaga: platform.txt z rdzenia ‘Arduino Tiny’ zawiera przestarzałe recipe.ar.pattern=”{compiler.path}{compiler.ar.cmd}” {compiler.ar.flags} “{build.path}/{archive_file}” “{object_file}”, przekonwertowane automatycznie na recipe.ar.pattern=”{compiler.path}{compiler.ar.cmd}” {compiler.ar.flags} “{archive_file_path}” “{object_file}”. Rozważ uaktualnienie tego rdzenia.
    Uwaga: platform.txt z rdzenia ‘Arduino Tiny’ zawiera przestarzałe recipe.c.combine.pattern=”{compiler.path}{compiler.c.elf.cmd}” {compiler.c.elf.flags} -mmcu={build.mcu} -o “{build.path}/{build.project_name}.elf” {object_files} “{build.path}/{archive_file}” “-L{build.path}” -lm, przekonwertowane automatycznie na recipe.c.combine.pattern=”{compiler.path}{compiler.c.elf.cmd}” {compiler.c.elf.flags} -mmcu={build.mcu} -o “{build.path}/{build.project_name}.elf” {object_files} “{archive_file_path}” “-L{build.path}” -lm. Rozważ uaktualnienie tego rdzenia.
    exec: “avr-g++”: executable file not found in %PATH%
    Błąd kompilacji.

    Odpowiedz
  • Mam problem pokazuje mi się komunikat:
    ” Płytka tiny:tiny:attiny84at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY84AT1
    Płytka tiny:tiny:attiny24at16 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY24AT16
    Płytka tiny:tiny:attiny45at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY45AT8
    Płytka tiny:tiny:attiny4313at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY4313AT8
    Płytka tiny:tiny:attiny85at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY85AT8
    Płytka tiny:tiny:attiny44at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY44AT1
    Płytka tiny:tiny:attiny4313at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY4313AT1
    Płytka tiny:tiny:attiny84at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY84AT8
    Płytka tiny:tiny:attiny44at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY44AT8
    Płytka tiny:tiny:attiny85at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY85AT1
    Płytka tiny:tiny:attiny45at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY45AT1
    Płytka tiny:tiny:attiny85at16e nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY85AT16E
    Płytka tiny:tiny:attiny25at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY25AT8
    Płytka tiny:tiny:attiny2313at8 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY2313AT8
    Płytka tiny:tiny:attiny84at16 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY84AT16
    Płytka tiny:tiny:attiny85at16p nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY85AT16P
    Płytka tiny:tiny:attiny2313at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY2313AT1
    Płytka tiny:tiny:attiny85at128 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY85AT128
    Płytka tiny:tiny:attiny25at1 nie definiuje ustawienia ‘build.board’. Automatyczne ustawienie: TINY_ATTINY25AT1″.
    Jak to rozwiązać?
    Tak samo jak w poradniku na Win 7 (może ta informacja pomoże)

    Odpowiedz
  • Witam nastepujący problem z wypaleniem Bootloadera :::

    java.lang.NullPointerException
    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:362)
    at processing.app.Editor.lambda$handleBurnBootloader$14(Editor.java:2486)
    at java.lang.Thread.run(Thread.java:745)
    Błąd przy wgrywaniu bootloadera.

    jakies pomysły ?

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?