Skocz do zawartości

Programowanie ATTiny13 przez Arduino, bootloader i biblioteka Arduino.h


Pomocna odpowiedź

Napisano

Witam.

Posługując się kilkoma stronami udało mi się wreszcie zaprogramować ATTiny13 za pomocą Arduino. Zgodnie z instrukcjami, wrzuciłem pobrane pliki rdzeni itp. ATTiny do "hardware". Przy ArduinoIDE 1.8.0 wyskakiwały mi błędy Javy przy próbie wypalenia bootloadera, więc spróbowałem z wersją 1.0.6 i zadziałało.

Teraz mam dwa problemy :

1. Wgrałem zmieniony program Blink, ale dioda za szybko miga. Mam dwie ATTiny13, więc żeby sprawdzić czy druga działa wgrałem do niej program bez wypalania bootloadera (zapomniałem) - bez bootloadera migała z odpowiednią częstotliwością. Po wypaleniu bootloadera też miga za szybko. Przy wgrywaniu wyskakuje mi błąd :

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny13.

2. Potem chciałem jeszcze raz spróbować na IDE 1.8.0 i wyskakuje mi błąd

"Arduino.h : no such file or directory"

Nie dodawałem jej na początku programu, więc doszedłem do wniosku, że Arduino sam ją sobie dopisuje. Próbowałem w pliku \hardware\arduino\avr\cores\arduino\main.cpp zmienić ścieżkę do Arduino.h, ale też nie działa. Potrzebuję wiedzieć gdzie trzeba dodać Arduino.h, albo w jakim pliku zmienić ścieżkę do niego. Oraz czy to ma być Arduino.h z ww lokalizacji, czy z folderu z rdzeniami ATTiny?

Starałem się dość szczegółowo opisać problem, żeby nie było wątpliwości 🙂

Pozdrawiam

Wersja arduino na ATtiny13 nie ma bootloadera -- zawsze wgrywasz programy przez ISP. Opcja "wypal bootloader" została tam przerobiona i zamiast tego ustawia fusebity, między innymi na prędkość zegara. Upewnij się, że kompilujesz program z ustawioną tą samą szybkością, jaką miałeś ustawioną kiedy wybierałeś "wypal bootloader".

Nie zmieniałem już nigdzie tej szybkości, więc chyba z tą samą.

A propo szybkości - zmieniałem (przy wklejaniu tych plików rdzeni na początku) w pliku boards.txt parametr

attiny13.build.f_cpu=9600000L

na

attiny13.build.f_cpu=1000000L

żeby przy kompilacji nie było problemów - tak wyczytałem.

Może różnica taktowania Arduino Uno i ATTiny13 ma tutaj wpływ?

Dziękuję, już jest lepiej.

Przywróciłem w pliku boards.txt poprzednią wartość (9.6M) i ten czas jest dłuższy, ale teraz za długi o ok. 30%. To da się jakoś "naprawić" pomijając operowanie na wartości tego parametru?

Jak zmieniałem ten parametr - attiny13.build.f_cpu - to zmieniała się też częstotliwość migania diody, ale nie wceluję w dokładną wartość, tym bardziej, że niektórych nie przepuszcza. Nie mam raczej innego mikrokontrolera do przetestowania.

Próbowałem wczoraj z tymi zmianami szybkości i wypalaniem bootloadera to zaczęły wyskakiwać błędy i teraz w ogóle nie mogę się połączyć z ATTiny, nawet jak przywracam wszystko tak jak było. Błędy :

invalid device signature

i

expected signature for attiny13 is 1e 90 07

Szukałem tego, ale nic adekwatnego nie znalazłem.

Brzmi jak złe połączenia i/lub za szybka prędkość programowania. Masz na programatorze zworkę do spowolnienia SCK? Jak nie, to możesz podać też prędkość parametrem -B w avrdude...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...