Od czego zaczac programowanie, jezyk itd?
Od czego zaczac programowanie, jezyk itd?
Witma, tak tak wiem tematów już było dużo, kolega pozbywał się programatora USBasp wiec przygarnąłem go, od zawsze chciałem się nauczyć programować tylko nie wiem jaki język wybrać, może jakieś książki wspomagające kurs.
Odpowiedzieć można jak w każdym podobnym temacie:
Bascom - najłatwiejsza droga żeby programować AVR'y, niestety póki co ślepa uliczka.
C - najbardziej uniwersalny język, w później bez większych problemów można się przesiąść na inną rodzinę procesorów.
Asembler - wymaga dogłębnej wiedzy na temat programowanego procesora, bardzo trudny na początki nauki programowania.
Bascom - najłatwiejsza droga żeby programować AVR'y, niestety póki co ślepa uliczka.
C - najbardziej uniwersalny język, w później bez większych problemów można się przesiąść na inną rodzinę procesorów.
Asembler - wymaga dogłębnej wiedzy na temat programowanego procesora, bardzo trudny na początki nauki programowania.
Książka, którą wskazałeś jest jedną z dwóch najlepszych o "czystym" C. Na pewno warto kupić.Damian89 pisze:Czyli język C, teraz może jakaś literatura do nauki? Np: "Język ANSI C" autorzy: Brian W. Kernighan, Dennis M. Ritchie
Jednakże pytasz pod kątem mikrokontrolerów, a tutaj zdecydowanie Tomasz Francuz: Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji
Co do zestawu to zastanów się nad innym podejściem
No i zaglądnij tam do spisu treści, a wiele się wyjaśni
A w razie wątpliwości pytaj dalej ...
Postaraj się zdobyć układ AT90S2313, ten procesor ma minimum fusów i choć byś chciał, nie ma co zepsuć. Limit 2kB pamięci też motywuje do oszczędzania i optymalizacji.
Ja zaczynałem od AVT-3501 + płytka stykowa, garść elementów i kilka metrów skrętki na kable połączeniowe. Nieco ciekawiej prezentuje się zestaw AVT2683, do niego też trzeba dokupić płytkę stykową i resztę drobnicy.
Jeśli nie stary 2313, to możesz zaczynać od dość popularnego procesora Atmega8 albo rzucić się na atmega16 z większą ilością pinów we/wy. Obowiązkowo procesorów trzeba kupić kilka na zapas, ja nie raz zablokowałem procesor i musiałem zatrudnić drugi do generowania sygnału zegarowego żeby odblokować pierwszego.
W każdym przypadku polecam płytkę stykową i samemu łączyć co potrzeba.
Jak u Ciebie z dostępnością elektrośmieci i innego złomu? W większości przypadków jeśli urządzenie ma wyświetlacz znakowy (1 linia, 16 znaków) podobny do HD447780 to da się ten wyświetlacz odzyskać i sterować nim jak HD44780. Jeśli ma wyświetlacze 7-segmentowe to da się je sterować multipleksowo a na pokładzie są potrzebne tranzystory i rezystory.
Tutaj uwaga, z jednego dekodera (chyba polsatu) wyciągnąłem płytkę z 4 wyświetlaczami połączoną 5 pinami do reszty dekodera. Szybkie oględziny i co? Na płytce siedzi 2313 SMD i jest skory do współpracy (da się go zaprogramować)
Ja zaczynałem od AVT-3501 + płytka stykowa, garść elementów i kilka metrów skrętki na kable połączeniowe. Nieco ciekawiej prezentuje się zestaw AVT2683, do niego też trzeba dokupić płytkę stykową i resztę drobnicy.
Jeśli nie stary 2313, to możesz zaczynać od dość popularnego procesora Atmega8 albo rzucić się na atmega16 z większą ilością pinów we/wy. Obowiązkowo procesorów trzeba kupić kilka na zapas, ja nie raz zablokowałem procesor i musiałem zatrudnić drugi do generowania sygnału zegarowego żeby odblokować pierwszego.
W każdym przypadku polecam płytkę stykową i samemu łączyć co potrzeba.
Jak u Ciebie z dostępnością elektrośmieci i innego złomu? W większości przypadków jeśli urządzenie ma wyświetlacz znakowy (1 linia, 16 znaków) podobny do HD447780 to da się ten wyświetlacz odzyskać i sterować nim jak HD44780. Jeśli ma wyświetlacze 7-segmentowe to da się je sterować multipleksowo a na pokładzie są potrzebne tranzystory i rezystory.
Tutaj uwaga, z jednego dekodera (chyba polsatu) wyciągnąłem płytkę z 4 wyświetlaczami połączoną 5 pinami do reszty dekodera. Szybkie oględziny i co? Na płytce siedzi 2313 SMD i jest skory do współpracy (da się go zaprogramować)
Dostałem kiedyś uszkodzony dekoder echostar podobny do tego:
A w nim płytka z tiny2313

Po bokach 2 przewody: zasilanie i masa
W środku wystają 4 przewody do pinów we/wy i reset.
Poza jednym pinem we/wy, cała reszta dostępna na złączu w rastrze 2mm i akurat pięknie podpięta pod interfejs ISP procesora.
Na wejściu zasilania elektrolit, dioda prostownicza i drugi elektrolit, tak więc od biedy wytrzyma błędne podłączenie zasilania.
Niestety nie często producenci urządzeń robią nam takie prezenty, najczęściej można znaleźć klony 8051 / 8032 lub jakieś jednokrotnego programowania.
A w nim płytka z tiny2313
Po bokach 2 przewody: zasilanie i masa
W środku wystają 4 przewody do pinów we/wy i reset.
Poza jednym pinem we/wy, cała reszta dostępna na złączu w rastrze 2mm i akurat pięknie podpięta pod interfejs ISP procesora.
Na wejściu zasilania elektrolit, dioda prostownicza i drugi elektrolit, tak więc od biedy wytrzyma błędne podłączenie zasilania.
Niestety nie często producenci urządzeń robią nam takie prezenty, najczęściej można znaleźć klony 8051 / 8032 lub jakieś jednokrotnego programowania.
A prosiłem:Damian89 pisze:A jakie środowisko wybrać do programowania?
a tam temat zatytułowany prawie tak jak Twoje pytanie.dondu pisze:No i zaglądnij tam do spisu treści, a wiele się wyjaśni
Damian89, na początek winavr, tylko trzeba odpowiednią wersję ściągnąć bo ostatnie kilka mocno się różni. Na dzieńdobry masz kurs gcc w EdW albo np. http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=4
Później możesz odczuć brak najnowszych procesorów z gatunku u2, u4 albo niektórych tiny.
Jeśli zawczasu wolisz nie martwić się o aktualizacje, to pewnie dobrym wyjściem będzie avrstudio/atmelstudio albo eclipse. Żeby nie było, pracuję na winavr, inne z powyższych znam tylko ze słyszenia.
mr_x, tak. Klasyczne '51 są o tyle gorsze, że część procesorów pracuje na zewnętrznej pamięci EPROM, do której trzeba mieć programator i kasownik. Pamięć jest wielokrotnie przekładana między podstawkami, nie da się programować w układzie.
Kolejna część to procesory z pamięcią OTP czyli jednorazowe, reszta to specjalizowane układy scalone w których jednym z elementów jest rdzeń '51, za to mają nieprzystępne obudowy SMD.
Ciężko znaleźć coś z pamięcią flash programowanego w układzie (jak procki avr).
Poza powyższymi wadami, procesory '51 mają szereg zalet, już sam wiek tej architektury i to że dalej są produkowane mówi sam za siebie.
Jak znajdę jakieś rodzynki z to wrzucę fotki, a gdzieś powinienem mieć procka '51 z pamięcią EPROM w jednej strukturze.
Później możesz odczuć brak najnowszych procesorów z gatunku u2, u4 albo niektórych tiny.
Jeśli zawczasu wolisz nie martwić się o aktualizacje, to pewnie dobrym wyjściem będzie avrstudio/atmelstudio albo eclipse. Żeby nie było, pracuję na winavr, inne z powyższych znam tylko ze słyszenia.
mr_x, tak. Klasyczne '51 są o tyle gorsze, że część procesorów pracuje na zewnętrznej pamięci EPROM, do której trzeba mieć programator i kasownik. Pamięć jest wielokrotnie przekładana między podstawkami, nie da się programować w układzie.
Kolejna część to procesory z pamięcią OTP czyli jednorazowe, reszta to specjalizowane układy scalone w których jednym z elementów jest rdzeń '51, za to mają nieprzystępne obudowy SMD.
Ciężko znaleźć coś z pamięcią flash programowanego w układzie (jak procki avr).
Poza powyższymi wadami, procesory '51 mają szereg zalet, już sam wiek tej architektury i to że dalej są produkowane mówi sam za siebie.
Jak znajdę jakieś rodzynki z to wrzucę fotki, a gdzieś powinienem mieć procka '51 z pamięcią EPROM w jednej strukturze.
Absolutnie nie. Nie polecaj starego środowiska, w którym początkujący będzie się męczyć z plikami makefile o których sam kolega ostrzega:Ertew pisze:Damian89, na początek winavr, ...
a wystarczy stosować nowe dostępne narzędzia Atmela, gdzie wszystko się samo cudownie robi: https://forum.elportal.pl/viewtopic.php?p=81675#81675Ertew pisze:Działający wsad to kilka minut, więcej zajmuje konfiguracja makefile w C.
Może więc kolega także zrobi krok naprzód?
To nie znaczy, że powinieneś polecać starocie o mniejszych możliwościach i mniej przyjazne programiście niż aktualne darmowe i oryginalne środowiska Atmela.Ertew pisze:Żeby nie było, pracuję na winavr, inne z powyższych znam tylko ze słyszenia.
@Damian89 - Wszystko na ten temat w spisie treści - tylko go wreszcie przeczytaj.Ertew pisze:avrstudio/atmelstudio albo eclipse.