Od czego zaczac programowanie, jezyk itd?

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
Awatar użytkownika
Damian89
Użytkownik
Posty: 124
Rejestracja: 29 sie 2009, 17:52
Lokalizacja: Otwock

Od czego zaczac programowanie, jezyk itd?

Post autor: Damian89 » 25 wrz 2012, 14:21

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.

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 25 wrz 2012, 14:57

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.

Awatar użytkownika
Damian89
Użytkownik
Posty: 124
Rejestracja: 29 sie 2009, 17:52
Lokalizacja: Otwock

Post autor: Damian89 » 25 wrz 2012, 15:11

Czyli język C, teraz może jakaś literatura do nauki? Np: "Język ANSI C" autorzy: Brian W. Kernighan, Dennis M. Ritchie

lukas15
-
Posty: 57
Rejestracja: 21 lis 2011, 20:08
Lokalizacja: Wąbrzeźno

Post autor: lukas15 » 25 wrz 2012, 15:48

Ja tam bym zaczął od BASCOMA, bo jest bardzo prosty, nie wiem czemu ludzie piszą, że przesiadka potem na C jest trudna, ja tak zrobiłem i zrozumiałem C.
Jak C to polecam "Mikrokontrolery AVR Język C Podstawy programowania" Mirosława Kardaś.

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 25 wrz 2012, 18:46

A ja, jako "stary" konserwatysta, polecam asembler. Owszem, początki mogą być trudne, bo wymagana jest znajomość architektury, rejestrów, sposobów adresowania pamięci itd., ale jak to się opanuje, jest już z górki. A i frajda większa, przynajmniej ja tak to odczuwam.

Awatar użytkownika
Damian89
Użytkownik
Posty: 124
Rejestracja: 29 sie 2009, 17:52
Lokalizacja: Otwock

Post autor: Damian89 » 26 wrz 2012, 20:07

Programator mamy, wybrany język mamy, pomoce naukowe mamy to zostaje kwestia płytki wraz z mikrokontrolerem do zaprogramowania.

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 26 wrz 2012, 20:42

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
Książka, którą wskazałeś jest jedną z dwóch najlepszych o "czystym" C. Na pewno warto kupić.

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 ...

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 27 wrz 2012, 10:04

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ć) :smile:

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 27 wrz 2012, 13:31

O właśnie ... stare telefony NOKIA 3310, ewentualnie Siemens S65 itp = Wyświetlacze LCD.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 27 wrz 2012, 19:17

Dostałem kiedyś uszkodzony dekoder echostar podobny do tego:
Obrazek

A w nim płytka z tiny2313 :razz:
Obrazek Obrazek
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.

Awatar użytkownika
Damian89
Użytkownik
Posty: 124
Rejestracja: 29 sie 2009, 17:52
Lokalizacja: Otwock

Post autor: Damian89 » 27 wrz 2012, 20:53

A jakie środowisko wybrać do programowania?

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 27 wrz 2012, 20:59

Uważasz rodzinę MCS51 za gorszą?

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 27 wrz 2012, 21:59

Damian89 pisze:A jakie środowisko wybrać do programowania?
A prosiłem:
dondu pisze:No i zaglądnij tam do spisu treści, a wiele się wyjaśni :-)
a tam temat zatytułowany prawie tak jak Twoje pytanie.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 27 wrz 2012, 22:01

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.

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 27 wrz 2012, 22:18

Ertew pisze:Damian89, na początek winavr, ...
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:Działający wsad to kilka minut, więcej zajmuje konfiguracja makefile w C.
a wystarczy stosować nowe dostępne narzędzia Atmela, gdzie wszystko się samo cudownie robi: https://forum.elportal.pl/viewtopic.php?p=81675#81675

Może więc kolega także zrobi krok naprzód?

Ertew pisze:Żeby nie było, pracuję na winavr, inne z powyższych znam tylko ze słyszenia.
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:avrstudio/atmelstudio albo eclipse.
@Damian89 - Wszystko na ten temat w spisie treści - tylko go wreszcie przeczytaj.

ODPOWIEDZ