Używam Boarduino i 30-rzędowej deski chlebowej do programowania ATtiny. Ładuję niezbyt skomplikowany szkic o nazwie ArduinoISP (domyślnie dołączony teraz do Arduino IDE) i nagle mam działającego programistę. Atmel sprzedaje fajnego programistę za 30 do 40 USD, a istnieje wiele zestawów do robienia tańszych.
Byłem bardzo szczęśliwy, kiedy dostałem działającego programistę i zmusiłem malutkiego mrugnięcia do kilku diod LED. Jednak teraz moje biedne boarduino utknęło na służbie programisty.
O ile wiem, ten programista przytrzymuje przycisk resetowania, a następnie przesyła i odbiera na pinach MOSI i MISO. Myślę, że SCK jest nieużywany lub przynajmniej niepotrzebny. (SCK jest potrzebne zgodnie z arkuszem danych ATtiny, mój programista nie działa bez niego i nie mogę znaleźć miejsca, o którym myślałem, że przeczytałem, że nie jest potrzebne).
Dlaczego potrzebuję programisty sprzętowego, aby po prostu transmitować serial? To znaczy, załóżmy, że jestem skłonny przytrzymać przycisk resetowania palcem zamiast używać IC. Pozostało mi tylko szeregowe wysyłanie i odbieranie, więc potrzebuję tylko trzech przewodów GND, RXD i TXD. Cholera, jeśli mam linię „DTR” lub cokolwiek, możesz nawet przytrzymać przycisk resetowania za pomocą kabla szeregowego.
Dlaczego istnieją wszystkie te rozwiązania sprzętowe, które wymagają także wyszukanego oprogramowania (takiego jak AVRdude, studio AVR itp.)?
Mam na myśli, że mogłem zrozumieć mały kabel USB, który przedstawiał mikrokontroler jako urządzenie pamięci masowej i pozwalał ci przeciągać pliki binarne do programowania (jak ta płyta programistów ARM ). Tylko sprzęt, przy użyciu standardowych sterowników oprogramowania.
Mogłem również zrozumieć rozwiązanie tylko programowe (modulo podpinające przewody z USB do układu, używając czegoś takiego jak układ FTDI, aby uprościć to, co idzie wzdłuż przewodów). Cały fantazyjny protokół programowania byłby obsługiwany przez oprogramowanie na komputerze, a sprzętem byłyby tylko niektóre przewody.
Dlaczego w grę wchodzą zarówno (skomplikowane) oprogramowanie, jak i sprzęt? O ile mi wiadomo, programowanie mikrokontrolerów jest dość łatwe, ale kiedy tylko się w to wdawałem, naprawdę martwiłem się, jak kiedykolwiek kupię układ scalony od mousera lub digikey bez płacenia guru za program bootloadera dla mnie.
Jestem pewien, że jest dobry powód (nie napisałem oprogramowania ani nie zacząłem produkować programatora USB typu przeciągnij i upuść), ale jako nowicjusz nie mam pojęcia, co to jest.