Książki dotyczące programowania AVR.

Nasze polecane książki, kursy, strony internetowe, fora itp. pomocne przy przyswajaniu wiedzy związanej z AVR i pisaniem programów dla nich.
Awatar użytkownika
0110101101101101
Posty: 18
Rejestracja: sobota 12 maja 2018, 14:55

Książki dotyczące programowania AVR.

Postautor: 0110101101101101 » poniedziałek 14 maja 2018, 21:14

Witajcie, sam całkiem niedawno startowałem z programowaniem mikrokontrolerów, zacząłem od 8 bitowych AVR firmy Atmel.

Początkowo kupiłem programator (bardzo tani USB-ASP), mikrokontroler Atmega328p i płytkę stykową z zestawem przewodów.
Diody, rezystory, tranzystory i inne podstawowe elementy elektroniczne już posiadałem, także nic tylko zacząć programować! :)

Zacząłem szukać informacji na ten temat w internecie, udało mi się bez najmniejszego problemu zainstalować sterowniki do programatora, środowisko Atmel Studio i AVR Burn-O-Mat, którym wgrywałem pierwsze testowe programy do pamięci mikrokontrolera. :)

Pierwsze mruganie diodami, zapalanie ich po kolei, obsługa wyświetlacza 7 segmentowego opanowałem bardzo szybko i zacząłem szukać dalej - przerwania, timery, protokoły komunikacji i2c, spi, 1wire, usart, przetwornik ADC i zaczęło się robić coraz więcej do nauki - jak to wszystko działa, do czego jest stosowane i przede wszystkim jak napisać program, w którym obsłużę nowo poznane pojęcia.

Lubię uczyć się z książek, dlatego wybrałem ten kierunek nauki i pierwszą pozycją w którą się zaopatrzyłem, była:

1. Mikrokontrolery AVR Język C - podstawy programowania autorstwa Mirosława Kardasia. Jak dla osoby, która dopiero zaczyna jest to na prawdę godna polecenia pozycja. Co nie każdemu może się podobać Autor bardzo promuje tam swoje zestawy uruchomieniowe, programator i inne produkty, ale aby przebrnąć przez książkę nie trzeba kupować tych produktów - można dowolne inne i też jest możliwość bezproblemowego przebrnięcia przez kurs. Książka jest pisana w specyficznym stylu - jak do kolegi, bardzo luźno, co mi osobiście odpowiadało.
Nauczysz się z niej podstaw programowania w języku C - napisane jest to w ten sposób, że osoba nie mająca styczności nigdy wcześniej z programowaniem spokojnie sobie poradzi, podstawowej obsługi mikrokontrolera, jego peryferiów, obsługi RS232, I2C, 1wire, SPI, wyświetlacza LCD, wyświetlacza 7 segmentowego. Jest to świetny wstęp do tworzenia bardziej zaawansowanych aplikacji dla totalnych amatorów.

2. Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. autorstwa Tomasza Francuza. Również jest to super książka, nauczysz się tego samego co z powyższej pozycji, ale jest napisana technicznym, konkretnym językiem i dla laików momentami mogłaby być zbyt ciężka do zrozumienia. Osobiście przeczytałem najpierw pozycję Mirosława Kardasia i następnie książka Tomasza Francuza była idealna, żeby usystematyzować zdobytą wcześniej wiedzę.

Oczywiście zupełną podstawą jest język angielski - bez niego ani rusz, ponieważ dokumentacje techniczne z których trzeba korzystać są głównie pisane w tym języku.

Teraz, gdy opanowałem takie podstawy, a zajęło mi to 4 miesiące systematycznej, codziennej nauki po kilka godzin, to mam swój pomysł na ciekawy projekt, po którego wykonaniu najprawdopodobniej będę myślał nad przesiadką na mikrokontrolery z rodziny ARM - konkretniej STM32 ze względu na również ogromne wsparcie i popularność, a w przyszłości, mam nadzieję, że jeszcze w tym roku, chciałbym pracować jako programista mikrokontrolerów/konstruktor elektroniki. :)

Awatar użytkownika
gaweł
Expert
Expert
Posty: 614
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Książki dotyczące programowania AVR.

Postautor: gaweł » poniedziałek 14 maja 2018, 22:17

0110101101101101 pisze:Witajcie, sam całkiem niedawno startowałem z programowaniem mikrokontrolerów, zacząłem od 8 bitowych AVR firmy Atmel.

W sumie nie ma to żadnego znaczenia od jakich procków zaczynasz. Pewne modele są łatwiejsze w opanowaniu inne wymagają większego wysiłku. Jak dokładnie się temu przyjrzeć, to wszystko jest identyczne, takie fraktalne. Główne idee są niezmienne od wieków. Masz podział na dwie znacząco różne zbioru. Jeden to fizyczna materia, czyli sprzęt. Druga do materia intelektualna, czyli program (tego nie da się już dotknąć, bo jest niefizyczne). Ja przykładowo zaczynałem od Z80 (to jest hardcore).
Jeżeli tworzysz oprogramowanie w C, to w pewnym sensie stajesz się niezwiązany z listą instrukcji procka i w jakimś tam stopniu z jego architekturą. Tworząc algorytm, taką prockową rzeczywistość, to operujesz niejako słowem (słowem z gramatyki języków programowania) nie wnikając jak ono jest interpretowane przez procka, to zadanie dla kogoś innego, takiego twego przyjaciela, którym jest kompilator (to jego ból głowy). Twoim zadaniem jest skupić uwagę na idei algorytmu. Jak nabierzesz wprawy, to zauważysz, że nie ma tu żadnych barier, to tylko zależy od twojej wyobraźni, wszystko (przy odrobinie wysiłku) jest do osiągnięcia. Wymyślone algorytmy poprzez część fizyczną (hardware) wpływają na otoczenie, który wykona każde zlecone działanie. Chcesz "pomachać" pinem procka, to ... jak chyba już wiesz, żaden problem. Chcesz coś bardziej skomplikowanego, to ... co cię hamuje by to zrobić. Warto usunąć z własnej świadomości podstawowe ograniczenie: czegoś się nie da zrobić. Nie ma tak. Do tego AVR nadaje się doskonale.

0110101101101101 pisze:Lubię uczyć się z książek, dlatego wybrałem ten kierunek nauki i pierwszą pozycją w którą się zaopatrzyłem

Rzecz jasna, jest to twój wybór. Ja preferuję inną koncepcję, wypłynąć na szerokie wody i nie powielać cudzych wzorców. Jest zrozumiałe, że w początkowej fazie jedyną wiedzę przyniesie obserwacja dokonań innych, jednak im szybciej pomyślisz o samodzielności, tym szybciej osiągniesz wyżyny mistrzostwa. Wybór należy jedynie do ciebie.

Użycie STM32. Jednak skacząc na głęboką wodę, by nie utonąć, niezbędne jest przyswojenie sobie pewnej podstawowej wiedzy. Ten świat zawiera wiele niebezpieczeństw i meandrów. By nie dać się zwieść i dojść do celu jakim jest finalny produkt niezbędna jest świadomość takich zagadnień, jak choćby DMA. Stosując czarowanie na wyższym poziomie, można długo zastanawiać się, dlaczego nie działa. Rzeczywistość jest taka jaka jest i ją nie interesuje, czy masz świadomość tych problemów czy nie. Nie i tyle! Nie ma zmiłuj. Ten świat jest precyzyjny do bólu.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
inż.wielki
User
User
Posty: 253
Rejestracja: niedziela 20 gru 2015, 23:11

Re: Książki dotyczące programowania AVR.

Postautor: inż.wielki » poniedziałek 14 maja 2018, 22:47

A może coś lepszego. Tzn, system, który można rozszerzać dokładając proste moduły. A jak przyjdzie czas na te bardziej skomplikowane to wtedy możesz się przerzucić na ARM'y czy też ESP :)

Moją propozycją jest rozpoczęcie od prostego systemu stacji pogodowej z (bez)przewodowymi czujnikami :) Możesz zacząć od samych czujników na Atmedze. A po jakimś czasie centralkę stworzyć z wykorzystaniem STM. Potem następne czujniki na np ESP.


Wróć do „Źródła wiedzy na temat AVR”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości