Programowanie mikrokontrolera może wydawać się nieco skomplikowane, ponieważ istnieje wiele mylących wyborów. Pamiętam, jak się czułem na początku. Ze wszystkimi dostępnymi kompilatorami, programami IDE, programistami i metodami programistycznymi – nic dziwnego, że o tym myślisz.
Dużo książek i poradników przerobiłem, gdy uczyłem się podstaw mikrokontrolera. Śledziłem różne tutoriale i skończyłem z wieloma różnymi programami na moim komputerze, co sprawiło, że było to mylące. I musiałem użyć zewnętrznej płyty do programowania układu. Wszystko to sprawiło, że trudno było mi zrozumieć, czego naprawdę potrzebowałem, aby to zadziałało. Aby uczynić programowanie mikrokontrolera możliwie najprostszym dla ciebie – przedstawię ci, co musisz zrobić.
Podstawy programowania mikrokontrolerów
Mikrokontroler nie wie, co ma zrobić sam. Twoim zadaniem jest powiedzieć, co chcesz zrobić, więc:
– napisz kod programu na swoim komputerze
– skompiluj kod za pomocą kompilatora dla używanego mikrokontrolera
– prześlij skompilowaną wersję twojego programu do mikrokontrolera.
Programowanie Arduino jest nieco łatwiejsze, jeśli chcesz zaliczyć naprawdę prosty start.
Napisz swój kod programu
Pierwszym krokiem jest napisanie kodu programu. Zazwyczaj jest to wykonywane przez C. Ale niektóre kompilatory również obsługują inne języki. Dowiedz się, co robią inni ludzie używający tego samego mikrokontrolera.
Nie ma znaczenia, jakiego oprogramowania używasz do pisania kodu. W tym kroku możesz nawet używać Notatnika. Lubię używać naprawdę prostego edytora. Ale taki, który obsługuje podświetlanie składni, ułatwia kodowanie. W systemie Windows moim ulubionym jest Notepad ++
Skompiluj swój kod dla mikrokontrolera
Zanim prześlesz swój program do mikrokontrolera, musisz go skompilować. Oznacza to konwersję kodu z kodu czytelnego dla człowieka na kod czytelny maszynowo.
Użyj kompilatora, który obsługuje mikrokontroler i skompiluj swój kod do kodu maszynowego dla twojego układu. Popularnym kompilatorem mikrokontrolerów jest Atmel AVR.
Po kompilacji będziesz mieć jeden lub więcej plików zawierających kod maszynowy. Następnie musisz przesłać te pliki do mikrokontrolera.
Prześlij skompilowane pliki do mikrokontrolera
Zwykle jest to jeden plik programu i plik do EEPROM i / lub flash, który należy przesłać.
Potrzebujesz fizycznego połączenia z komputera do mikrokontrolera. Możesz użyć dedykowanego programatora (takiego jak AVRISP dla mikrokontrolerów AVR) lub jeśli masz programowalny układ USB, możesz go podłączyć za pomocą kabla USB (moja preferowana metoda).
Potrzebujesz programu do przesyłania plików. W przypadku układów AVR można użyć AVRDUDE.
Mając na uwadze główne etapy programowania mikrokontrolerów, nadszedł czas na rozpoczęcie budowy. Jeśli zaczynasz, polecam zacząć od płytki mikrokontrolera. Arduino jest najprostszy, ale jest o wiele więcej dostępnych opcji.
Każda reguła ma wyjątki. Dotyczy to niemal wszystkiego, co przeczytasz w tym samouczku. Jeśli czytasz „X” tutaj, nie myśl, że to oznacza „X i tylko X, w każdej możliwej sytuacji, bez wyjątków i kwalifikacji, teraz i na zawsze.” Projektanci mikrokontrolerów wymyślili wiele różnych, interesujących, a czasem po prostu dziwnych sposobów robienia rzeczy. Jako użytkownik mikrokontrolera i programista Ty również możesz wymyślić wiele różnych i interesujących sposobów robienia rzeczy. Z mojego doświadczenia, biorąc pod uwagę program kilku krokowy, istnieje prawdopodobnie co najmniej N-kwadratowy sposób pisania tego programu. Celem tego artykułu jest próba stworzenia solidnego fundamentu, a nie kompleksowej encyklopedii tej dziedziny.
Innym możliwym źródłem nieporozumień jest terminologia. Różni producenci często używają różnych terminów dla tych samych lub podobnych funkcji, rejestrów i opcji konfiguracji / statusu.
Czym jest programowanie wbudowane?
Programowanie wbudowane to termin programowania komputerowego, który żyje i obsługuje wiele urządzeń sterowanych komputerowo, które otaczają nas w naszych domach, samochodach, miejscach pracy i społecznościach. Aby było jasne, każde programowanie mikrokontrolerów jest wbudowane w programowanie, ale nie we wszystkich programach wbudowanych jest programowanie mikrokontrolerów.
Programy wbudowane muszą ściśle współpracować z wyspecjalizowanymi komponentami i niestandardowymi obwodami, które składają się na sprzęt. W przeciwieństwie do programowania w pełni funkcjonalnego systemu operacyjnego, w którym szczegóły sprzętu są usuwane w największym możliwym stopniu z powiadomienia i kontroli programisty, większość wbudowanego programowania działa bezpośrednio na sprzęcie i na nim.