Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

pare pytan...

danlancher 23 Gru 2005 21:00 3915 62
  • #1 23 Gru 2005 21:00
    danlancher
    Poziom 27  

    Witam.
    Mam pare pytan,nie bede co raz zaczynal nowego postu.i prosze modelatora o nie wyzucanie tego postu :D bardzo prosze:).Juz jeden napisalem i wyladowal w koszu,posluchalem rad modelatora (ze jest duzo takich tematow jak moj i ze musze szukac) po czym szukalem i.. nie znalazlem.

    Bez owijania w bawelne,odrazu przejde do pytan i mam nadzieje ze uzuskam na nie dokladnych odpowiedzi:)

    1.w jakim jezyku mozna robic jakiego typu programy?tzn.czy np.w c albo asmie mozna zrobic taki sam program do sterowania robotem?
    2.jaki jest najleprzy jezyk do zrobiena programu sterujacego robotem?

    Pytam sie bo nie wiem,a mam zamiar kiedys zrobic jakiegos robota i dlatego chcem sie dowiedziec co nie co zeby sie juz jakos powoli zaczac uczuc:).

    Wiec dziekuje bardzo za odp.

    Pozdrawiam i Wesolych Swiat :)

    0 29
  • #2 23 Gru 2005 22:08
    bogdan_p
    Poziom 39  

    nie można udzielić jednoznacznej odpowiedzi , właściwie każdy jest dobry
    jeżeli zaczynasz i chcesz ograniczyć się tylko do programów prostych związanych z sterowniem robotami to możesz zacząć od Bascoma , dość szybko opanujesz ten język , oczywiście nie jest to idealny język ale na początek jest dobry
    przy ambitniejszych planach pracy z uC to asembler lub C , osobiście polecam rodzinę AVR , programowanie przez ISP , wybór oprogramowania jest duży pod dowolny język Bascom , Asembler , C
    to jest moje zdanie , jednak ilu jest ludzi każdy może zapropnować coś innego , zerknij na tą stronę i zobacz sobie przykłady programów w kilku językach programowania
    http://mikrokontrolery.net/index.htm

    0
  • #3 24 Gru 2005 02:28
    gromnik19
    Poziom 14  

    bogdan_p napisał:
    nie można udzielić jednoznacznej odpowiedzi ,


    Zgadzam sie :]

    Ze swojego doświadczenia powiem tak: Jeśli znasz jakikolwiek język programowania to wg mnie dobrym wyborem jest C, do niego juz tylko krok to C++ i innych bardziej zaawansowanych języków. Bascom jest tylko do mikrokontrolerow (jesli się mylę to niech ktoś mądrzejszy mnie poprawi). Fajnie go znać ale uważam, że wciska ludzi w ślepy zaułek.
    Najlepiej by było jakbyś wziął się za assemblera, bo wtedy nalepiej panuje się nad tym co się w uC dzieje. Jednak wg mnie assembler jest dość trudnym językiem (kilka razy się za niego zabierałem ale zawsze brakowało mi samozaparcia zeby sie go nauczyc ;) ).

    Wesolych swiąt :]

    0
  • #4 24 Gru 2005 03:47
    valarian
    Poziom 22  

    Tak, jak napisali koledzy, punktow widzenia moze byc kilka. Osobiscie polecam pisac na poczatku w C. Bascom odradzam z calego serca, ogranicza myslenie i zmniejsza do minimum wysilek, jaki trzeba wlozyc w zaprogramowanie uC. Moze sie to wydawac dobre, ale jest zupelnie odwrotnie. A C jest jezykiem prostym do nauczenia i o ogromnych mozliwosciach. Jesli juz opanujesz C i bedziesz w pewnym stopniu programowal mikrokontrolery, to mozesz zaczac pisac w Asmie, czesto pomaga i jest szybszy, niz C. Ale na pocztek nie bedzie to konieczne.

    Swoja droga, musiales bardzo slabo szukac, bo takich pytan bylo juz sporo, zwlaszcza na forum o mikrokontrolerach.

    Pozdrawiam i Wesolych Swiat :-)

    0
  • #5 24 Gru 2005 10:36
    danlancher
    Poziom 27  

    Dzieki bardzo:).No to sie zabieram za c++,juz zacząlem :).
    Dzieki jeszcze raz i WESOLYCH SWIAT!!!

    0
  • #6 24 Gru 2005 10:54
    zerpo
    Poziom 22  

    valarian napisał:
    Jesli juz opanujesz C i bedziesz w pewnym stopniu programowal mikrokontrolery, to mozesz zaczac pisac w Asmie, czesto pomaga i jest szybszy, niz C.


    Należałoby tu sprecyzować pojęcie 'szybszy'.
    Samo pisanie w ASM jest dość żmudne i czasochłonne, więc pod tym względem nie uzyskamy tej szybkości. Można jednak uzyskać bardziej optymalny kod programu pisząć w ASM, który może (ale wcale nie musi) działać szybciej.
    ASM z pozoru może się wydawać łatwy, ale pisanie programów w nim jest trudne i wymaga niekiedy akrobatycznych zręczności umysłowych ;-).
    C odciąża nas od wielu tego typu rzeczy. Nie musimy sie właściwie martwić o Stos, adresowanie pamięci, bezpośrednie działanie na rejestrach i nie trzeba walczyć z operacjami arytmetycznymi, których obsługa w ASMie to czasem niezły dziwoląg :D i wiele innych.
    Minus tego taki, że czasem kompilator C może nam zrobić coś po swojemu i program nie bedzie do konca taki, jaki chcieliśmy... W ASMie już takich historii nie ma - to co napiszemy, to będzie i już :D

    Acha! Zaczynać naukę C, a potem wracać się do ASM, to trochę głupota, po co się cofać, jak można iść naprzód?

    0
  • #7 24 Gru 2005 11:40
    danlancher
    Poziom 27  

    Acha! Zaczynać naukę C, a potem wracać się do ASM, to trochę głupota, po co się cofać, jak można iść naprzód?

    to czylilepiej zaczac nauke od Asma?

    0
  • #8 24 Gru 2005 11:53
    zerpo
    Poziom 22  

    danlancher napisał:
    to czylilepiej zaczac nauke od Asma?


    Z jezykami programowania zawsze jest problem. Jeden oferuje to czego inny nie i na odwrót. Wady i zalety. Każdy ma swoje zdanie na ten temat.
    Zajrzyj na forum Mikrokontrolery, jest tam masa dyskusji na ten temat.
    Moim zdaniem jeśli zaczniesz uczyć się C, to już nie będzie sensu wracać do ASM. Jeśli jednak zaczniesz od ASM, to z czasem na pewno przesiądziesz sie na C.
    Poczytaj te dyskusje na forum Mikrokontrolery, i zadecyduj sam.
    Podpowiem tylko, że jak zapoznasz się z podstawami ASM, to nauka mikrokontrolowego C bedzie bardziej zrozumiała...

    0
  • #9 24 Gru 2005 12:02
    valarian
    Poziom 22  

    Dziekuje za sprecyzowanie, zerpo.
    Mimo wszystko polecalbym nauke C na poczatek, pisze sie naprawde dobrze, a w poczatkowej fazie nauki z uC nieistotne raczej sa "kombinacje" kompilatora itp wady. Zaczynanie od razu od ASM moze zniechecic poczatkujacego, tak mi sie wydaje przynajmniej.
    Razem z postepami w nauce C i programowaniu mikrokontrolerow bedziesz poznawal sprzet, jego elementy, co jak dziala [rejestry, stos, pamiec itp.], a mysle, ze dobra znajomosc architektury uC jest podstawa do nauki ASM.
    Tak wiec mozna spokojnie zaczac od C i pisac nawet bardzo skomplikowane programy, a potrzeba znajomosci ASM [i sama jego nauka] wyjdzie "w praniu".

    Pozdrawiam, Wesolych Swiat...
    :-)

    0
  • #10 25 Gru 2005 02:25
    gromnik19
    Poziom 14  

    To ja jeszcze na koniec dodam ze w C mozna robic wstawki asseblerowe, a odwrotnie sie nie da :)
    Poza tym wg mnie nauka ASM jak sie zna C to wacale nie jest cofanie, a wrecz przeciwnie, umiejetnosc tak abstrakcyjnego myslenia jakie jest potrzebne w ASMie to krok do przodu.
    Valerian ma racje ze najpierw nalezy nauczyc sie struktury uC a do tego najlepsza jest praktyka, a najlatwiej praktyke zdobyc w C :]

    0
  • #11 25 Gru 2005 23:04
    danlancher
    Poziom 27  

    no to ok.C :D

    dzieki,pozdrawiam!

    0
  • #12 11 Sty 2006 20:32
    danlancher
    Poziom 27  

    Witam ,ponownie ja.
    Po dlugim przemysleniu sprawy postanowilem ze lepiej bedzie zaczac od asma :).C nie jest dobry na poczatek.
    Ale tu jest problemik,bo chyba asm jest pod linuksa i dla DOS'a.
    I ptanko mam takie:czy nie ma roznicy jak sie pisze w linuksie czy w dos'ie??
    Bo np.C mozna nim pisam w dosie i normalnie w windowsie...to jak to jest??

    0
  • #13 11 Sty 2006 20:51
    bogdan_p
    Poziom 39  

    podaj jaką rodzinę uC wybrałeś 8051, AVR , PIC , AMR .....

    Cytat:
    Ale tu jest problemik,bo chyba asm jest pod linuksa i dla DOS'a.

    istnieją wersje pod kazdy system operacyjny Dos ,Win , Linuks

    0
  • #14 11 Sty 2006 21:16
    danlancher
    Poziom 27  

    No narazie nie zabieram sie za programowanie bo jeszcze praktycznie nic nie uiem :D ale ludzie gloszą ze AVR jest OK,wiec chyba AVR.
    A nie ma zadnej roznicy w programowaniu u Dos,Win,Linux...?
    Bo z tego co wiem to chyba Linux jest takim bardziej.....no dla profesionalistow itd :D.Moze sie myle nie wiem.

    0
  • #15 11 Sty 2006 21:33
    bogdan_p
    Poziom 39  

    jeżeli pracujesz na systemie Windows to po co kombinujesz z Linuksem
    AVR - AWRStudio pracuje pod Widowsem i pisze się w ASM

    0
  • #16 11 Sty 2006 21:59
    danlancher
    Poziom 27  

    Dobry jestes ;) moja technika ,ale na forum sie nie sprawdza....dobra do rzeczy.
    Tylko sie pytalem,a po drugie nie kombinuje w linuksie,tylko sie pytam ;)

    0
  • #17 11 Sty 2006 22:09
    Jacu$
    Poziom 27  

    :arrow: danlancher
    Przeczytaj sobie Kurs asemblera AVR a wiele rzeczy stanie się dla Ciebie bardziej zrozumiałe.
    Jeśli jesteś kumaty w angielskim lub niemieckim to polecam świetny kurs assemblera AVR na stronie http://www.avr-asm-tutorial.net/. Najlepiej ściągnąć całość w PDF-ie i wydrukować. Lepszego nie widziałem.
    Jeżeli używasz systemu Windows to możesz sobie zainstalować AVR-Studio ale to jest ogromny kombajn, który też musisz poznać i nauczyć się w nim poruszać. Ja używam sam kompilator AVRASM z tego kombajnu. Programy piszę w edytorze ASCII i kompiluję z linii poleceń w Total Commanderze (tak robię w pracy bo mam służbowy komputer z Windows XP). W domu używam linuksa i tu robię prawie tak samo: piszę w edytorze ASCII i kompiluję z linii poleceń shell'a kompilatorem avra, tavrasm lub gavrasm. Chyba wszystkie trzy są również w wersji dla DOS/Windows. Jak wpiszesz w Google ich nazwy to znajdziesz je bez problemów.

    0
  • #18 11 Sty 2006 23:30
    McRancor
    VIP Zasłużony dla elektroda

    A ja nienawidzę lini komend i linuksa, ale to inna bajka, w jednym się zgadzam, nie należy uczyć się asemblera na wstępie, bo nic się z tego nie zrozumie.

    Co do uC AVR:

    Najszybciej napiszesz program do robota w bascomie, nadaje się do tego idealnie i jest prosty. Może i zwalnia z myślenia, ale efekty pracy są zauważalne natychmiast.

    Sam robie w bascomie softa do nano-sumo, wsadziłem proca który ma 8KB dysku ;) i mało mnie obchodzi czym bascom to zapełnia.

    To ma działać a nie być perfekcyjnie dopracowane, a w robocikach istotniejsze są rozwiązania mechaniki niż zoptymalizowany program.

    0
  • #19 11 Sty 2006 23:43
    MirekCz
    Poziom 35  

    Ja osobiście polecam zacząć od C... pod Dosa.

    Powód jest prosty - C jest względnie prostym językiem a kompilując pod Dosa można łatwo zacząć (nie ma żadnego kodu do tworzenia okienek jak w windowsie itd.)
    Można spytać, dlaczego nie zaczynać od mikrokontrolerów... powód banalny - pisząc na kontrolery tak naprawde nie wiemy co program robi, bo nie możemy tego podejrzeć (chyba ze ktoś ma debugger itd.. ale nawet wtedy przeważnie działa to gorzej niż debuggowanie kodu pod Dosa)
    No i właśnie, pod Dosa możemy używac debuggery i profilery do woli, poza tym sam proces kod/kompilacja/debuggowanie jest bardzo szybki.

    Jak już ktoś umie jakieś podstawy C, to można usiąść do mikrokontrolerów (zakładając przynajmniej podstawową znajomość elektroniki analogowej i cyfrowej)

    A na końcu.. assembler, koniecznie. Dopiero wtedy człowiek rozumie co tak naprawde się dzieje, pozwala to też dostrzec możliwości optymalizacji kodu pisanego w C.
    Jest to zupełnie inne spojrzenie na działanie komputera niż spojrzenie programisty C.
    Dla mnie ktoś, kto programuje w C/C++ a nie zna podstaw assemblera i procesora pod który pisze to czasem wygląda jak ślepiec chodzący po omacku... kod napisze, tylko jeżeli będzie potrzebna szybkość działania tego kodu to już z tym nic nie zrobi.

    0
  • #20 12 Sty 2006 16:50
    danlancher
    Poziom 27  

    No dzieki za dobre rady :).
    Ale od C juz probowalem zaczac,idzie ale powoli.
    Wiec najpierw chyba Assembler.
    Ale...jak kolega McRancor mowil ze programuje w bascomie to moze od niego zaczne.Moze tak bedzie lepiej,na poczatek.Na poczatek moze bedzie dobry a jak da sie w nim aprogramowac mikrokontroler to OK.
    A jakie bascom ma mozliwosci??

    0
  • #21 12 Sty 2006 17:19
    McRancor
    VIP Zasłużony dla elektroda

    Praktycznie nieograniczone, poza tym kompiluje asemblera, więc można pisać też w tym języku program.

    0
  • #22 12 Sty 2006 18:02
    danlancher
    Poziom 27  

    Czyli nie ma goraniczen co do programowania,to moge zrobic jakiego chcem robota i zaprogramowac go tak zeby robil to co ma robic??

    A w bascomie mozna programowac tylko uC rodziny AVR czy nie tylko??

    0
  • #23 12 Sty 2006 18:43
    bogdan_p
    Poziom 39  

    Bascom masz na 8051 i AVR
    Inne wersje Basic na uC napewno na 8051, AVR , PIC

    0
  • #24 12 Sty 2006 19:48
    McRancor
    VIP Zasłużony dla elektroda

    Najpierw zbuduj, potem będziesz się martwił jak to oprogramujesz

    0
  • #25 12 Sty 2006 20:40
    danlancher
    Poziom 27  

    to moze basica??sorry ze taki jestem ,ale chcem byc pewny czego sie ucze...:)
    A PIC sa lepsze od AVR??
    Wiem ze troche przysmucam ,ale jak sie wszystkiego dowiem to za jakis czas wpadne na forum z super robocikiem :D.

    Aha,ciagle nie wiem tego czy:
    Np.w basicu,bascomie,c,pascalu....mozna programowac uC,ale mozna robic takie programy do czegos innego??

    0
  • #26 12 Sty 2006 22:05
    McRancor
    VIP Zasłużony dla elektroda

    Przeglądnij forum mikrokontrolery.
    Bascom to program, kompilator dialektu basica.

    0
  • #27 13 Sty 2006 13:17
    danlancher
    Poziom 27  

    A mozesz odpowiedziec dokladniej na moje pytanie??:)

    0
  • #28 13 Sty 2006 13:31
    bogdan_p
    Poziom 39  

    rozumię stare przysłowie " kto pyta nie błądzi "
    ale danlancher powinieneś podjąć męską decyzję na co się w końcu decydujesz jak na razie to skaczesz asm , bascom , c , pic , avr , ...... za chwilę ktoś zaproponuje serie st , arm i znowu bedziesz pytał od nowa
    wszystko masz wystaczy poszukać i zdecydować się na coś

    0
  • #29 13 Sty 2006 14:12
    zerpo
    Poziom 22  

    danlancher -> Skaczesz z kwiatka na kwiatek, chcesz zająć sie mikrokontrolerami. Dobrze! Pytanie tylko, czy wiesz cokolwiek na temat elektroniki, bo z Twoich postów wynika, że nie za wiele. To jak jest z tą wiedzą? Jeśli nie bardzo, to ok, możesz sie uczyć programowania uC, popieram nawet, ale po co ta wiedza, skoro nie będziesz umiał złożyć układu w którym to urządzenie będzie pracować..?
    I to co już się wiele razy powtarzało - przegladaj te fora dyskusyjne na elektrodzie, a nie ciągle pytaj i oczekuj odpowiedzi na pytania, które setki razy były już zadawane.
    Potrzeba do tego cierpliwości, w tej dziedzinie nic nie przychodzi od razu, wymaga dużej pracy teoretycznej, która niekiedy nie ejst przyjemna, ale (niestety?) potrzebna...

    0
  • #30 13 Sty 2006 14:15
    daniel93
    Poziom 29  

    na począ tek avr i bascoma weź

    0