logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Chciałbym zacząć przygodę z Bascom AVR ale potrzebuje przewodnika

Jasia30 14 Cze 2015 19:40 5310 31
REKLAMA
  • #1 14770802
    Jasia30
    Poziom 11  
    Posty: 8
    Ocena: 3
    Chcę zacząć zajmować się mikrokontrolerami i nie aspiruję by zostać zawodowym programistą.
    Na forach większość wypowiedzi preferuje język C. Wypowiedzi że bascom AVR są niemal tępione.

    Widzę że za pomocą mikrokontrolera można zrobić całkiem ciekawe projekty, zamiast budować to samo za pomocą klasycznej elektroniki.
    Chcę pozostać programistą amatorem, to Bascom z pewnością wystarczy mi na długo. Procesory Atmega też.

    W związku z tym mam prośbę, czy znalazł by się ktoś kto za rękę poprowadził by mnie JAK ZACZĄĆ?
    JAK TO SIĘ ROBI NA POCZĄTEK?

    Bez kupowania książek po 70zł, drogiej płyty ewaluacyjnej za 250zł, bez programatora na stare złącze drukarkowe COM, którego nie mam w laptopie. Wiem że są programatory pod USB itd.
    Pomoc przy obsłudze programu Bascom a zwłaszcza jego symulatora itp.

    Znajdzie się ktoś komu by się chciało pomagać nie na forum tylko bezpośrednio?
  • REKLAMA
  • #2 14771003
    Konto nie istnieje
    Konto nie istnieje  
  • #3 14771780
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Pierwsze co zrób, to zapomnij o BASCOM z tych powodów: http://mikrokontrolery.blogspot.com/2011/04/jaki-jezyk-wybrac.html
    Następnie zainstaluj Atmel Studio: http://mikrokontrolery.blogspot.com/2011/04/atmel-studio-spis-tresci.html

    potem ucz się wykorzystując kursy:
    - kurs C z przykładami i kompilatorem online VManiak: http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html
    - kurs AVR: http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html

    i nie daj się zwieść żadnym argumentom na rzecz BASCOM, bo jeśli zaczniesz się go uczyć to wybierzesz najgorszy możliwy kierunek.

    Alternatywą którą ewentualnie możesz rozważać jest środowisko Arduino.
  • #4 14780335
    Marico
    Poziom 20  
    Posty: 409
    Pomógł: 28
    Ocena: 60
    Bascom to jest dramat a nie język. Bałaganiarska składnia i case insensitive pozwala na pisanie nieprzyjaznego oczom kodu.
    Znam osobę, która poświęciła mu za dużo czasu. dotarła do pewnej ściany w rozwoju i koniec. Język kompletnie nie rozwija, wręcz ogranicza wyobraźnie programisty do kontekstu "jednego programu" przez co trudno ogarnąć wielozadaniowość nawet opartą na prostej maszynie stanów.
    Gorąco nie polecam. Dział Bascoma na elektrodzie powinien zawierać wyraźne ostrzeżenie dla początkujących jakie konsekwencje może przynieść przygoda z Bascomem.
  • #5 14780436
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Jasia30 napisał:
    nie interesuje mnie opinia o wyższości języka c nad innymi. Do celów amatorskich jest w sam raz. Jest napisanie w moim poście czegro oczekuję.


    Zastanów się nad propozycją:

    dondu napisał:
    Alternatywą którą ewentualnie możesz rozważać jest środowisko Arduino.

    Równie proste (masę gotowych bibliotek), znacznie mniej ograniczone niż BASCOM i darmowe w przeciwieństwie do BASCOMa.
    Uczy poprawnego programowania i właśnie przez amatorów na całym świecie jest stosowane.
  • REKLAMA
  • #6 14780468
    Jasia30
    Poziom 11  
    Posty: 8
    Ocena: 3
    Widzę że tu nie chodzi o dobro początkującego, tylko zaciekła walka przeciwko zwolennikom Bascoma.
  • #7 14780519
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Jasia30 napisał:
    Widzę że tu nie chodzi o dobro początkującego, tylko zaciekła walka przeciwko zwolennikom Bascoma.

    Widzę, że albo nie czytasz, albo kompletnie nie trafiają do Ciebie rzeczowe argumenty.
    Jeśli więc na złość mamie zimą nie chcesz założyć czapki, to Twoja decyzja.

    Jednakże na tym forum staramy się wskazywać właściwą drogę tak, by oszczędzić początkującym rozczarowań, straconego czasu i nauczenia się złych nawyków programowania w dodatku w płatnym środowisku. Dlatego zawsze w takich przypadkach staramy się przekonać do uważnego rozpatrzenia wskazanych argumentów. A to czy ktoś je w ogóle przeczyta i chociaż przez chwilę pochyli się nad każdym z nich, to już nie nasza sprawa.
  • #8 14780737
    marekhab
    Poziom 33  
    Posty: 1349
    Pomógł: 251
    Ocena: 267
    Dorzucę swoje dwa grosze, mam x lat jestem w wieku gdzie nauka to zabytek,szkołę skończyłem w 1988r zawód niepowiązany w żaden sposób z elektroniką.
    Moje osiągnięcia to spalone parę urządzeń, parę naprawionych (czasem przypadkowo). Z racji że jestem powiedzmy melomanem to nie jestem w stanie podać ilości "zużytych " kolumn i głośników i tu nastąpił przełom pierwszy samodzielnie wykonany wzmacniacz nawet grał, z biegiem czasu i zdobywania wiedzy i doświadczenia między innymi w sieci ( tu na elce też) zrobiłem od podstaw wzmacniacz z wyliczeniem elementów pod konkretne wymagania, i tu było miłe zaskoczenie usłyszeć wzmacniacz w klasie AB. Przyszedł czas na więcej no to po drodze parę efektów świetlnych w końcu kolorofon, jakieś małe projekciki z silniczkami doszedłem do prostego sterowania silnikami krokowymi, i nadszedł ten moment MIKROPROCESORY dwa lata się wahałem i podchodziłem do tego jak do przysłowiowego jeża.
    Przełamałem się, żałuję że tak długo zwlekałem, na dziś powiem prosto języka nie mam opanowanego ale proste układy mam za sobą, nawet udało mi się zrobić oświetlenie klatki schodowej z czujnikami ruchu.
    Zamieszczam filmik z działania.
    Uczę się języka C linki stron które mi pomogły umieszczę na końcu.
    Moje zaplecze jeśli chodzi o mikroprocesory to Atmega8, Atmega2313, Atmega 162, programator USBASP, zapasowy samodzielnie wykonany programator pod LTP, wyświetlacz LCD.
    ta ostatnia Atmega 162 kupiona z jakimś zestawem uruchomieniowym, co do programowania to jestem umysłem czysto matematycznym więc jest mi łatwiej pojąć zasady panujące w systemie dwójkowym, jak to zrozumiesz to Hex nie jest już jakąś zagadką.
    Z czym mam problem? Język angielski mnie go nie uczyli, a przydałby się.
    Moje ostatnie większe przejścia z mikroprocesorami to zablokowana Atmega162 i tu przyszła mi z pomocą Atmega8 i szperanie po forach co robić.
    Efekt kilku godzinnym składaniu (na stykówce ) układu do programowania wysokonapięciowego Atmega działa, moje doświadczenie? Kilka razy sprawdź zanim
    zmienisz jakikolwiek fuse bit .
    Życzę udanych konstrukcji i ciekawych pomysłów jak wykorzystać mikroprocesor.
    Obiecane linki :
    http://hobby.abxyz.bplaced.net/index.php?pid=4&cid=1
    http://mikrokontrolery.blogspot.com/p/spis-tresci.html
    http://edu.i-lo.tarnow.pl/inf/prg/009_kurs_avr/0017.php#P1
    http://edu.i-lo.tarnow.pl/inf/prg/009_kurs_avr/index.php

    W tym linku polecam archiwum bloga na samym dole po lewej.
    http://mirekk36.blogspot.com

    A wszystko to jest moje hobby , taki już jestem .
    Załączniki:
    • MOV00011.MP4 (658.55 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #9 14782265
    Konto nie istnieje
    Poziom 1  
  • #10 14782385
    miro340
    Poziom 13  
    Posty: 38
    Pomógł: 7
    Ocena: 18
    Najbardziej idiotyczne dyskusje jakie można znaleźć na forach dotyczą trzech tematów: jaki język programowania jest lepszy, jakie środowisko programistyczne jest lepsze ( nie koniecznie w kontekście programowania procesorów) i jaki procesor jest najlepszy. W każdym z tych przypadków najbardziej poprawną odpowiedzią jest: to IDE, ten procesor, język, który mamy najlepiej opanowany. Drodzy Panowie opowiadanie bzdur typu bascom nie rozwija, jest beznadziejny, nauka bascoma to strata czasu itp. nie ma żadnego uzasadnienia. wbijcie to sobie do głowy, że nie wszyscy muszą programować w C bo nie każdemu jest to potrzebne. Czy tak trudno jest zrozumieć, że nie każdy che się zajmować zawodowo programowaniem procesorów, nie każdy chce być inżynierem i ciągle poszerzać listę procesorów jakie potrafi programować. Wyobraźcie sobie, że są tacy ludzie, którzy chcą po prostu móc szybko i łatwo napisać prosty program, ktory w 100% spełni ich oczekiwania? Po co od razu opowiadać takim ludziom, że jeśli będą uczyć się bascoma to już są przegrani, że nauczą się złych nawyków i może jeszcze zostaną potępieni i skończą w czeluściach piekielnych. Jeśli by tak już szło o ścisłość to również ci, którzy zaczynają naukę programowania od C, nie mają powodu do rardości bo C jest właśnie tym językiem, który wyjątkkowo uczy bałaganiarstwa. Jeśli chcieliście być tacy porządni i poukładani powinniście byli zacząć naukę od pascala. Wbijcie sobie Panowie do głowy, że nie język programowania jest ważny, ważne jest aby sobie radzić z algorytmizowaniem problemu, zadania. A co do bascombasica to oczywiście jest to bardzo prosty pod względem składni język i łatwo jest się go nauczyć, co przyciąga zwłaszcza bardzo młodych ludzi. Jest w tym oczywiście pułapka bo tak naprawdę właśnie w tak prostym języku nie posiadającym wielu przydatnych mechanizmów znacznie trudniej uzyskać porządany efekt niż np w C. Co więcej jeżeli programując w bascom korzysta się z rejestrów ( programuje się w "stylu C"), to można znacznie więcej uzyskać niż gdy stosuje się typowe bascomowe podejście. Pozwala to również łatwo przesiąść się właśnie na C, no bo siłą rzeczy trzeba poznać lepiej budowę procesora. I chociaż by z tego powodu nie można twierdzić że bascom ogranicza rozwój. Oczywiście poważnie myśląc o karierze programisty trzeba będzie zmienić bascoma na C/C++ ale nie można tego traktować jak dogmat.
    Nie chcę tutaj bronić bascoma, a jedynie ludzi, którzy chca wykorzystywać to narzędzie. Sam naukę programowania rozpocząłem od assemblera na '51 tak dawno, że już nie pamiętam kiedy to było, pierwszy program w C++ napisałem też nie wiele później i znam jeszcze kilka innych języków programowania(w tym bascommasic) i nie uważam aby nauka któregoś z nich była stratą czasu i hamulcem w rozwoju. Wręcz przeciwnie. No i już tak na koniec jeśli ktoś Was prosi o pomoc to postarajcie sie mu służyć radą w zakresie o jaki prosi, a nie udowadniajcie mu jaki to on / ona jest nierozgarnięty i stojąc nad przepaścia robi wyraźny krok naprzód. Jeśli ktoś che uczyć się bascoma to niech się go uczy. Jeśli zajdzie taka potrzeba napewno pozna inne, bardziej zaawansowane języki. I pamiętajcie, nauka nawet najbardzij przymitywnego waszym zdaniem języka nigdy nie jest stratą czasu i zawsze pozwala się rozwijać czy wam się to podoba czy nie.
    Wybaczcie ten może trochę ostry ton ale jak się czyta takie rzeczy to trudno się czasami powstrzymać :)
  • #11 14782604
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    MArSTER_1 napisał:
    W Bascomie programuję choćby dlatego, że piszę też programy na PC w Visual Basicu.

    To jest istotny argument i ja go akceptuję. Temat jednak do dotyczy Ciebie.

    MArSTER_1 napisał:
    Jeśli ktoś napisał, że w Bascomie "doszedł do sciany" to powinien był skorzystać z możliwości bezpośredniego programowania rejestrów (konfiguracja portów itp).

    Widzę, że nie czytałeś argumentacji, bo nie to jest w tym najważniejsze - to tylko malutki wycinek argumentów.

    MArSTER_1 napisał:
    Nie przejmuj się tym co piszą o przewadze języka C nad Bascomem. Łatwiej się go nauczysz jako początkujący i na pewno dasz rade oprogramować to co sobie postanowiłeś.

    Nikt z nas nie zmusza początkującego do uczenia się języka C.
    Wręcz przeciwnie - dwa razy w tym wątku podałem alternatywę, znacznie lepszą niż Bascom: Arduino


    miro340 napisał:
    Wbijcie sobie Panowie do głowy, że nie język programowania jest ważny, ważne jest aby sobie radzić z algorytmizowaniem problemu, zadania.

    I właśnie w tym zakresie Bascom sieje największe spustoszenie w głowach początkujących. Dlatego późniejsza przesiadka na jakikolwiek inny współczesny język, jest tak koszmarnie trudna.


    miro340 napisał:
    Nie chcę tutaj bronić bascoma, a jedynie ludzi, którzy chca wykorzystywać to narzędzie.

    Podstawowym błędem takiego rozumowania jest zrozumienie, że osoba zaczynająca nie ma podstaw do wyciągnięcia wniosków, czy jej decyzja jest prawidłowa, a jeśli nie to jakie przyniesie konsekwencje. Naszą rolą jest natomiast uświadomienie tej osobie, tych wszystkich problemów które napotka w przyszłości dokonując najgorszego możliwego wyboru.

    Mamy do tego prawo? Jeśli tak, to pozwólcie, że z niego skorzystamy.

    ----------

    Swoimi radami doprowadzacie do takiej sytuacji:

    Przychodzi nowicjusz do sklepu ze sprzętem narciarskim i mówi:

    Przyszły narciarz napisał:
    Poproszę te żółte buty co są w waszym magazynie na samym końcu koło kosza.


    Sprzedawca odpowiada:

    Sprzedawca napisał:
    Proszę Pana:
    - to są buty sprzed 20 lat,
    - strasznie niewygodne,
    - noski nie pasują do żadnych współczesnych wiązań,
    - w dodatku strasznie drogie, bo szef nie pozwala sprzedawać poniżej kosztów zakupu,


    Proponuję Panu inne buty:
    - bardzo wygodne,
    - z żelowymi wkładami termicznymi,
    - dopasowujące się do stopy,
    - pasujące do każdych współczesnych wiązań i nart
    - i w dodatku to wszystko za darmo, bo producent ma taki gest.


    Wy radzicie nowicjuszowi:

    Koledzy świadczący niedźwiedzie przysługi napisał:
    Bierz te żółte my też takie mamy. Co z tego że są niewygodne, stare i pasują tylko do wiązań sprzed 20 lat i że nie są za darmo - ważne, że są żółte.


    ----------

    Jeżeli nadal do Was nie trafiają żadne rzeczowe argumenty (choć wątpię by ktokolwiek z Was przeczytał je), to Wasz problem i nic nam do tego. Programujcie w czym chcecie.

    Nie róbcie jednak krzywdy początkującym, którzy zaczynają i nie ciągnijcie ich w dół tylko dlatego, że w nim sami siedzicie i chcecie mieć kompanów.

    Chcecie to kupujcie stare buty, zamiast mieć nowoczesne wspierane przez producentów narzędzia i języki, i w dodatku za darmo i bez jakichkolwiek ograniczeń.


    Na koniec podsumowanie, które warto przeczytać:

    pawel-jwe napisał:
    Odnośnie języków programowania AVR'ów to zauważyłem pewną własność, każdy kto uważa że BASCOM jest lepszy i bardziej mu pasuje, uważa tak tylko do momentu kiedy nie zacznie programować w C/C++.
  • #12 14782824
    Konto nie istnieje
    Konto nie istnieje  
  • #15 14782865
    Konto nie istnieje
    Konto nie istnieje  
  • #16 14782889
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    niveasoft napisał:
    Rozumiem o raz n-ty. Może tak nie w każdym poście?

    Rozumiem, że po każdej kolegi, czy innej osoby odpowiedzi ja już nie mam prawa odpowiadać?

    niveasoft napisał:
    Uważam, że moderator ...

    Działania moderatorskie wykonuję na czerwono za pomocą odpowiednich funkcjonalności.
    Wszelkie inne teksty piszę jako zwykły użytkownik, proszę o tym pamiętać i nie mylić więcej.

    niveasoft napisał:
    Każdy ma prawo wyboru i powinien to zaakceptować.

    Aby wybór był świadomy należy najpierw poznać plusy i minusy poszczególnych języków i ja właśnie o to dbam.
    Jeżeli natomiast naprzeciw moich rzeczowych argumentów przedstawia się emocje jak kolega, bez podawania żadnych kontrargumentów oznacza to, że moje argumenty są widocznie bardzo trudne do podważenia.

    Jeśli natomiast autor tematu podejmie decyzję, na podstawie emocji i braku argumentów, to już jego sprawa nic mi do tego.
  • #17 14783008
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Też wtrącę swoje trzy grosze. Zacznę kontrowersyjnie. Warto spojrzeć kto doradza - jakoś tak się składa, że C/C++ doradzają osoby mające tysiące postów na koncie i często setki lub tysiące "pomógł", po przeciwnej stronie mamy osoby z licznikiem na poziomie kilku-kilkunastu. Nie znaczy to oczywiście, że ktoś rozpoczynający karierę na elektrodzie nie może mieć racji... Jednak statystyka jest przeciwko niemu :) Dlaczego kol. Dondu doradza C (i wiele innych osób)? Po prostu widzimy jak wygląda rozwój nowego adepta mikrokontrolerowego od jego początków. Mamy już na koncie pewnie z kilkaset osób, które tu zaczynały, myślały o Bascomie, doradziliśmy im inaczej, często przy dużych sprzeciwach, a po jakimś czasie (niezbyt długim) dostawaliśmy wiadomości z podziękowaniami. Mnie osobiście nigdy się nie zdarzyło, żeby osoba, którą namawiałem na C napisała mi po jakimś czasie, że to był głupi wybór i Bascom jest lepszy. Za to praktycznie co tydzień ktoś pisze, że szkoda, że nas nie posłuchał, bo zmarnował ileśtam czasu.
    Każdy może prezentować swoje opinie, dopóki są merytoryczne. Każdy ma je prawo merytorycznie skrytykować.
    Więc moja merytoryczna krytyka. VB i Bascom to dwa różne języki! VB to raczej rodzaj frameworka i z Bascomem może mieć co najmniej drobne podobieństwa w podstawowej składni, lub jakieś podobieństwa słów kluczowych. Ale to nieistotne. Warto też wczytać się w argumenty Bascomowców - wszystko można w tym języku zrobić, jeśli programujemy na rejestrach. Panowie, czyli co, używamy Bascoma, po to, żeby go wykorzystać jako kiepski kompilator asemblera? W dodatku płacimy za to kilkaset złotych! Prawie 500zł za pełną wersję. To już wolę kupić kompilator z mikroelektroniki - C, ale z kompletem wysokiej jakości bibliotek, dobrym kompilatorem i niezłym IDE. Te dwie ostatnie rzeczy można mieć za darmo (doskonały avr-gcc i świetne Atmel Studio). Ale cena to nie wszystko - za prawie 500zł dostajemy środowisko zamknięte, ograniczone praktycznie do jednej rodziny mikrokontrolerów. Z opcją, że jak się przesiądziemy na coś innego to wszystkie kody trzeba przepisać od zera.
    Kol. Dondu wspominał o symulatorze dostępnym w AVR Studio i Atmel Studio. To doskonałe narzędzie. Kol. @niveasoft sugeruje jakoby nie dało się w nim zasymulować działania ADC. Nic bardziej błędnego - wystarczy stworzyć tylko plik z danymi "analogowymi" i podłączyć go pod AS jako stimulifile. Jasne, dla początkującego może to brzmi skomplikowanie, ale początkujący nie robi skomplikowanych symulacji peryferii. A do podstawowego sprawdzenia konfiguracji ADC, czy odpowiedzi programu na jakąś wartość z ADC wystarczą breakpointy i ręczne wpisanie wartości do ADC.
  • #19 14783335
    marekhab
    Poziom 33  
    Posty: 1349
    Pomógł: 251
    Ocena: 267
    Jasia30 czy jeszcze po tym wszystkim jesteś na tym forum aktywnym użytkownikiem, czekam na Twoje zdanie co o tym wszystkim myślisz (przecież jesteś założycielem tego tematu), i jaka Twoja decyzja którą ścieżką pójdziesz (cel zawsze jest jeden zaprogramować "pomysł" i wykorzystać w życiu codziennym). Oczekiwałeś pomocnej ręki a co w zamian dyskusje co jest lepsze. Weź poprawkę na to że zawsze jest tak << co ja używam jest najlepsze, jeśli jeśli ktoś robi inaczej robi źle, >> i to jest przyczyna niepotrzebnego skakania sobie do gardeł.
    A ilu z nas przyzna się do błędu że coś banalnego spartaczyło???
  • #20 14783379
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    marekhab napisał:
    A ilu z nas przyzna się do błędu że coś banalnego spartaczyło???

    Może więcej o mnie powie Ci to (patrz ostatnie zdanie na stopniu 7): http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html

    marekhab napisał:
    ...zawsze jest tak << co ja używam jest najlepsze, jeśli jeśli ktoś robi inaczej robi źle ...

    Nie programuję w Arduino, ale go polecam zamiast BASCOM.

    Jest więc inaczej niż zakładasz.

    marekhab napisał:
    Jasia30 czy jeszcze po tym wszystkim jesteś na tym forum aktywnym użytkownikiem, czekam na Twoje zdanie co o tym wszystkim myślisz (przecież jesteś założycielem tego tematu), i jaka Twoja decyzja którą ścieżką pójdziesz ...

    ... i dlaczego taka, a nie inna.
  • Pomocny post
    #21 14783381
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #22 14783648
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    atom1477 napisał:
    Nie ma to jak się rozpisać :D

    Napisałeś dokładnie to, co próbuję przekazać początkującym. :)
    Super, że poświęciłeś swój czas i opisałeś swoją historię.


    Zawsze uważałem i uważam, tak jak wielkimi czerwonymi literami napisałem na początku w swoim artykule:

    Cytat:
    Każdy język jest dobry dopóki pozwala Ci zaprogramować mikrokontroler tak jak chciałeś.

    Nie wiem jak duży musiałby być ten napis i ile razy w tekście powtórzony, by czytający zrozumieli wydźwięk artykułu. :)

    Ponieważ język językowi nie jest równy stąd istotne jest pokazanie rzeczowych argumentów. Ja je przedstawiam opisowo, Ty zrobiłeś podobnie + przykłady - bardzo fajnie i można wiec merytorycznie dyskutować.

    Największe spustoszenie w głowie początkującego robią wypowiedzi bez konkretów jak kolegów wyżej. Gdy prosi się ich o konkrety niestety milkną.

    Jeszcze raz więc dziękuję w imieniu pytających o Bascom, a w przyszłości będę odsyłał ich także do tej Twojej wypowiedzi :)

    Do Twoich przykładów dodam kolejny - prosta funkcja kwadratowa: y = 0.3187x² + 2x - 7

    w C piszemy ....

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    ale to tylko mało istotny drobiazg. Najpoważniejsze problemy BASCOM leżą w takich sprawach:

    atom1477 napisał:
    Co się okazało. W AVR pierwszy pomiar po uruchomieniu ADC jest błędny.
    A co robił stary BASCOM? Na wszelki wypadek każdy pomiar robił dwukrotnie.




    Wypunktuję jeszcze to, na co każy kto chce zacząć z BASCOM powinien zwrócić uawagę:

    atom1477 napisał:
    Okazało się że już pierwszego dnia pisało się lepiej niż w BASCOMie.
    Kompilator C po prostu pozwala na dowolne "zagnieżdżanie" operacji arytmetycznych.
    ...
    Jednak generalnie BASCOM nie dał mi nic. To samo bym napisał w C gdybym zaczynał od C.
    ...
    Po zdekompilowaniu przykładowego kodu (jakoś mało zajmował w stosunku do BASCOMa) okazało się że kompilator C robi te wszystkie moje sztuki sam. A nawet robi jeszcze inne.
    ...
    Tak więc dla początkującego BASCOM wcale nie musi być taki dobry jak się wydaje



    atom1477 napisał:
    Po prostu chyba nikt nie zauważył co odstrasza początkujących od C.
    Ja zauważyłem na sobie, więc piszę. Są to skomplikowane kody z internetu.

    Ja zauważyłem :)
    Dlatego przygotowałem Kurs C z kompilatorem online i przykładami.
    Drzasiek zrobił kurs AVR + C - krótki, ale na początek wystarczający.
    Każdy kod programu w dowolnym moim artykule jest opisany w każdej linijce.
    Trzeba tylko korzystać, a jak się czegoś nie rozumie dopytać tutaj na forum.
  • #23 14784109
    miro340
    Poziom 13  
    Posty: 38
    Pomógł: 7
    Ocena: 18
    Chociaż dyskusja w dalszym ciągu jest zupełnie nie na temat to jednak zabiorę w niej jeszcze raz głos.
    Panowie, macie wszyscy rację, że C pod każdym względem ma przewagę nad Bascombasic. To wszystko co piszecie to prawda, ale zrozumcie, że nie można narzucać innym swojego punktu widzenia. Jeżeli ktoś chce programować w bascom to dajcie mu spokój i nie opowiadajcie o tym jakie to spustoszenie spowoduje w jego głowie bo to jest poprostu głupie. Zastanówcie się kim są ci początkujący, którzy chcą sobie poprogramować korzystając z bascoma. To przecież głównie dzieciaki w wieku gimnazjalnym lub początek szkoły średniej. Zamiast pisać o spustoszeniu w ich umysłach napiszcie o tym, że trzeba rozważyć:
    - czy chcą wiązać swoją przyszłą karierę zawodową z elektroniką i mikroprocesorami
    -czy chcą być tylko hobbistami
    - czy chcą mieć możliwość korzystania z innych platform sprzętowych
    itd.
    Napiszcie im, że jeśli wybiorą bascoma to nie mogą zupełnie zapominać o tym jak jest zbudowany procesor, jak on działa i że istnieje coś takiego jak dokumentacja techniczna gdzie znajdą wszelkie informacje o programowanym procesorze. A przecież ogólne przeświadczenie o tym, że programując w bascom nie trzeba nic wiedzieć o procesorze jest największym dramatem tych osób. Najgorsze jest to, że wszyscy im wmawiają że właśnie tak jest. "Po co korzystać z dokumentacji, po co uczyć się podstaw elektroniki, przecież bascom wszystko robi za was" . Oczywiście nikt w tej dyskusji tego nie twierdził ale właśnie takie słowa padające w innych dyskusjach czy na innych forach powodują prawdziwe spustoszenie w umysłach młodych, początkujących elektroników-programistów.
    Naszym zadaniem na forach jest rzetelne przekazanie posiadanej przez nas wiedzy tym, którzy proszą o pomoc, a nie narzucanie naszego punktu widzenia nawet, gdy uważamy że mamy rację. Każdy powinien podjąć sam decyzję nawet wtedy, gdy uważamy, że to błędna decyzja.
    Kolega atom1477 stwierdził, że bascom mu nic nie dał bo w C mógł od razu zrobić to samo. Nic bardziej mylnego. Przecież sam stwierdził, że bał się C, zupełnie nie mógł go zrozumieć, a bascom pozwolił mu łatwo rozpocząć pracę z procesorami. Można w związku z tym zadać pytanie: czy gdyby nie bascom to czy kiedykolwiek doszedł by do tego co potrafi dzisiaj?Czy bojąc się C nie zrezygnował by z programowania procesorów? Ręczę wam, że nie jedna kariera programisty legła w gruzach właśnie z tego powodu, że próbowali swoich sił z narzędziami, których jako początkujący nie potrafili ogarnąć. A wystarczyło tylko poszukać czegoś prostszego, żeby nabrać doświadczenia, zdobyć wiedzę, która pozwoliła by na korzystanie z tych trudniejszych i bardziej zaawansowanych narzędzi. Można by jeszcze iść dalej i zapytać: a co takiego daje koledze programowanie 8 bitowych AVRów? Przecież to samo można osiągnąć programując 32 bitowe ARMy, które dają nie porównanie większe możliwości za niższą cenę. Nie dajmy się zwariować bo to jest droga w ślepą uliczkę.
    Jeszcze raz powtórzę: nie jest ważny język programowania, ważna jest umiejętność tworzenia algorytmów. Jeśli nie potrafisz dowolnej czynności czy problemu zamienić algorytm to nie napiszesz programu choćby nie wiem jaki to miał być język. Jeśli ktoś z Was studiował informatykę to mógł się przekonać o tym na własne oczy. Na roku z setki studentów informatyki tylko kilku zostaje programistami, reszta mimo że zna składnie przynajmniej jednego języka ( zwykle C++) to i tak nie potrafi napisać samodzielnie prostego programu, właśnie dlatego, że mają problem z algorytmizowaniem zadań.
    Tak naprawdę tylko jeden argument przemawiający na rzecz C to cena środowiska programistycznego. Z tym się nie da polemizować. Programując w C zaoszczędzone pieniądze można przeznaczyć na dobry programator czy na zakup elementów elektronicznych do budowy własnej platformy sprzętowej. Cała reszta to kwestia indywidualnych potrzeb i możliwości przyszłego użytkownika.
    A tak na koniec - czy nie macie wrażenia, że ta dyskusja w żaden sposób nie pomogła kol Jasia30, który nikogo nie pytał jaki język wybrać a jedynie prosił o pomoc w nauce bascoma?
  • #24 14784158
    Konto nie istnieje
    Konto nie istnieje  
  • #25 14784183
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    @miro340 Zacznę od końca - kol. @Jasia30 otrzymał już wystarczającą pomoc w pierwszym poście kol. @niveasoft. Nie tylko wskazał mu stronę z informacjami, ale sam się także zaoferował z pomocą. Na tym temat właściwie został wyczerpany.
    Reszta odpowiedzi, to prawda, nie ma wiele wspólnego z tematem. Ale... wątek czyta nie tylko autor, ale także inne osoby. Dobrze by było, żeby miały wgląd jak to wszystko wygląda na prawdę. Każdy może wyrażać swoje opinie. Na forum trudno coś narzucić, nie chcesz czytać to co inni mają do powiedzienia - nie czytaj. Proste. Jeśli jednak ktoś pisze merytorycznie, dlaczego uważa inaczej to warto to przeczytać i się zastanowić. Nie zgadzasz się z tym, to powiedz co jest błędne i nie pasuje. IMHO początkujący może sobie wyrobić sensowną opinię tylko jeśli dochodzi do polemiki i prezentowane są różne punkty widzenia. Wiele razy na elce pomagamy komuś, kto nam przedstawia jakiś problem. Potem okazuje się, że problem jest sztuczny i wynika po prostu z błędnych założeń.
    Warto też zauważyć, że świat się zmienia. Jeszcze kilka lat temu Bascom był jakąś alternatywą, bo programowanie AVR odbywało się głównie w asemblerze, a avr-gcc dopiero powstawał. Obecnie jest inaczej. Nie tylko mamy avr-gcc z AVR-libc, ale także Arduino, które w dużej mierze przejmuje funkcję Bascoma - mamy prostotę, mnogość gotowych bibliotek, ale jednocześnie to wszystko jest opakowane w C++.
    Co do reszty argumentów -właściwie powtórzyłeś nasze. Tylko piszesz, że trzeba poznać architekturę, czytać noty itd. a na końcu pisać to w Bascomie. My piszemy - trzeba to wszystko zrobić, a na końcu wybierz coś co ma przyszłość i jest wygodne. Jest jeszcze jeden argument - zobacz ile osób na elce zna Bascoma na tyle, żeby rozwiązać niebanalny problem? 2, 3? Ile osób pomoże ci w C/C++? Sto? Może więcej. Obecnie jest taka mnogość materiałów o C/C++, blogów, przykładów, pomocnych użytkowników, że argument o prostocie Bascoma traci sens. Tym bardziej, że jak pokazał kol. @atom1477 ta prostota jest mitem.
    Nawiąże jeszcze to pytania czemu nie zaczynać od ARM? W sumie czemu nie, można od Cortex M0. A dlaczego mimo wszystko można zaczynać od AVR? Z prostej przyczyny. Pisząc w C/C++ mamy ten sam język na AVR/ARM i co tam chcesz. A więc to co się nauczysz dalej wykorzystujesz. Peryferia, timery, ADC, DAC, to wszystko możesz opanować na AVR, możesz na ARM, to jest to samo. Przesiadka w efekcie z AVR na ARM to tylko kwestia dodania nowej wiedzy do już posiadanej. Przesiadka z bascom na cokolwiek to praktycznie skasowanie większości tego, czego się nauczyłeś i start od nowa.
  • #26 14784399
    miro340
    Poziom 13  
    Posty: 38
    Pomógł: 7
    Ocena: 18
    Jak już wspomniałem wszystko co zostało tutaj napisane na temat przewagi C nad bascom jest prawdą i nikomu nie zarzucam że jest nie merytoryczny. Wręcz przeciwnie! Robicie Panowie kawał dobrej roboty. Ale to nie zmienia faktu , że staracie się na tych młodych ludziach wymusić jednak podjęcie takiej a nie innej decyzji. Nie przekonujcie ich że programując w bascom będą gorsi. Nawet jeżeli wybiorą bascoma to dla wielu z nich będzie to w zupełności wystarczające. Niektórzy z nich kiedyś i tak przejdą na C, co jest naturalne bo na tym polega rozwój. I to wcale nie będzie błędna ścieżka rozwoju. To ile im się przyda umiejętności nabytych przy okazji stosowania bascoma zależy głównie od nich samych i jeżeli nie będą się ograniczać tylko do stosowania wbudowanych funkcji to przesiadka na C sprowadzi się głównie do poznania składni nowego języka. I nie sądzę żeby to była strata czasu. Nawet programując w bascom nabywa się doświadczenia, które później przyda się zmieniając język a nawet platformę sprzętową. Jak wiele tego doświadczenia się zyska zależy już od indywidualnego podejścia danej osoby do tematu pozyskiwania wiedzy - z resztą to dotyczy również programujących w C. Ja sam programując procesory korzystam głównie z C ale lubię czasem pobawić się w Bascom czysto dla fanu. Moim głównym językiem programowania jest jednak C++ i chociaż znam jeszcze kilka innych języków z których korzystam rzadko to nie uważam żeby czas poświęcony na ich naukę był stracony. Wręcz przeciwnie. Cała wiedza i doświadczenie zdobyte w czasach gdy poszukiwałem swojego języka programowania czy nawet IDE pozwala mi dzisiaj szerzej spojrzeć na problem ludzi, którzy stają przed dylematem co jest lepsze, bascom czy C, eclipse czy AS itd. Podjęcie decyzji, która z czasem okazuje się nie trafiona jest również ważnym doświadczeniem, co nie oznacza, że nauka jakiego kolwiek języka była błędem. Każdy język programowania czy inne narzędzie ma swoich zwolenników i przeciwników i tego nikt nie zmieni. Praktycznie każdy potrafi merytorycznie wyjaśnić powody stosowania takiego a nie innego narzędzia, z których i tak każde dają użytkownikowi identyczny produkt końcowy w postaci działającego zgodnie z założeniami urządzenia. Ta dyskusja przebiega bardzo spokojnie, z czego należy się cieszyć :), w porównaniu dyskusjami o wyższości np Vstudio nad Borland Builder jakie się toczyły jeszcze kilka lat temu a nawet dzisiaj pomiędzy zwolennikami tych IDE. A przecież te dwa narzędzia wykorzystują ten sam język programowania jakim jest C++. Programujący procesory AVR też często idą na noże w dyskusjach co jest lepsze AS czy Eclipse. Nawet jeżeli użyjemy najbardziej merytorycznych argumentów to i tak pozostanie kwestia indywidualnych upodobań i potrzeb. Często nawet 100 najbardziej merytorycznych argumentów padnie pod jednym, mało merytorycznym ale najważniejszym z punktu widzenia danej osoby. Nie ma więc co z tym walczyć i straszyć początkujących, że taki czy inny język doprowadzi ich do nikąd a inny zaprowadzi ich na wyżyny bo po prostu to tak nie działa. Jeszcze raz powtarzam, robicie panowie kawał dobrej roboty, zgadzam się ,że dobrze jest poznać C ale dajcie też możliwość tym młodym ludziom pójść własną ścieżką, nawet jeśli wg was jest zła :-).
  • #27 14784425
    Konto nie istnieje
    Poziom 1  
  • #28 14784653
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    @miro340

    Jeśli zawodnik dowolnej dyscypliny sportowej nauczy się niewłaściwych technik, to późniejsze korygowanie jego przyzwyczajeń jest bardzo trudne i czasochłonne. Tak właśnie jest z BASCOM.

    miro340 napisał:
    To wszystko co piszecie to prawda, ale zrozumcie, że nie można narzucać innym swojego punktu widzenia. Jeżeli ktoś chce programować w bascom to dajcie mu spokój


    Przeanalizuj kolejność postów i wypowiedzi w szczególności trzy pierwsze moje posty. W którym z nich narzucam autorowi to co sugerujesz?

    W poście #5 wskazuję także dobrą alternatywę - Arduino.

    W poście nr #6 autor nagle zaczął jakieś dziwne teorie wysuwać. Dlatego w poście nr #7 wytłumaczyłem, że decyzje podejmie oczywiście we własnym zakresie, ale wytłumaczyłem także dlaczego o tym piszemy.

    Nikomu nie narzucam C jedynie podaję argumenty dlaczego nie powinien wybierać BASCOM i jakie ma alternatywy.

    Na tym poście moja dyskusja z autorem się zakończyła ... ale pojawili się atakujący BASCOMowcy ...


    -----------------------

    miro340 napisał:
    Nawet jeżeli użyjemy najbardziej merytorycznych argumentów to i tak pozostanie kwestia indywidualnych upodobań i potrzeb.

    Po raz kolejny napiszę: O indywidualnych upodobaniach można mówić, gdy osoba już programuje w danym języku jakiś czas. Jednak nie o takiej osobie jest ten temat ponieważ brzmi on:

    Cytat:
    Chciałbym zacząć przygodę z Bascom AVR

    i dlatego takiej osobie pokazuję dlaczego wybiera najgorszą możliwą opcję. Proszę więc nie pisać, że próbuję zmieniać przyzwyczajenia jakiejś osoby ponieważ ona jeszcze ich nie ma.
  • #29 14784916
    tobiasz54
    Poziom 13  
    Posty: 89
    Pomógł: 2
    Ocena: 4
    Dołączę do dyskusji C kontra Bascom.
    tmf napisał
    Cytat:
    Warto spojrzeć kto doradza - jakoś tak się składa, że C/C++ doradzają osoby mające tysiące postów na koncie i często setki lub tysiące "pomógł", po przeciwnej stronie mamy osoby z licznikiem na poziomie kilku-kilkunastu.

    Mam "licznik na bardzo niskim poziomie" mimo to doradzam C/C++. Jestem osobą która zaczęła w Basicu na ZX spectrum. Później VisualStudio (VB). Wszystko co chciałem napisać na PC wystarczał mi VB.
    Przyszedł czas na mikrokontroler(trochę za późno, bo dopiero od roku) i jest to LPC1769. Taki projekt do sterowania drukarką 3d, własny soft. Stąd zainteresowanie C, którego nie chciałem się nigdy uczyć, tym bardziej, że wszystkie przykłady na stronie mbed są w C++. Także to, że znam Eclipse(z programowania na androida) i teraz korzystam z LpcXpresso.
    O Bascom pierwszy raz przeczytałem na tym forum(czytam wszystko dot. programowania), nie miałem pojęcia, że takie coś jest. Już był moment,że chciałem się nim bliżej zainteresować z powodu funkcji operacji na stringach których nie ma gotowych w C np. mid.
    W C musiałem trochę pokombinować żeby odczytać np. element 5 do 8.
    Jako początkujący w mikrokontrolerach nie żałuję, że zacząłem w C oraz dziękuję za to, czego uczę się z tego forum.
    Pozdrawiam
  • #30 14786327
    And!
    Admin grupy Projektowanie
    Posty: 9061
    Pomógł: 175
    Ocena: 784
    Nastąpiło potężne starcie obozu Bascom kontra reszta świata ;) jestem ciekawy ostatecznej decyzji @Jasia30.
    Niezależnie jaka to będzie decyzja, będzie dobra gdyż pozwoli na rozpoczęcie zabawy z programowaniem.

    W toku dyskusji pojawiło się wiele informacji, które można wykorzystać przy wyborze swojego pierwszego języka programowania. Każdy użyje swojego rozumu i wybierze rozwiązanie optymalne dla siebie w danym momencie.

    Czy lepiej wybrać Basom czy C ? nie wiem, obecnie wybrałbym C, jednak każdy jest inny. Najważniejsze to zacząć zabawę z programowaniem, jeżeli mamy taką chęć. Może to być dowolny język w którym zrealizujemy nasze obecne wymagania. Jeżeli Bascom i AVR przestanie być wystarczające to bardzo dobrze, poznamy następny język, później nową platformę sprzętową, później wykorzystamy system operacyjny zarządzający zadaniami, oraz wszystko co będzie nam potrzebne.

Podsumowanie tematu

✨ Użytkownik poszukuje wskazówek dotyczących rozpoczęcia pracy z mikrokontrolerami, preferując język Bascom AVR, mimo że większość forumowiczów zaleca język C. W odpowiedziach podkreślono, że Bascom ma ograniczenia, które mogą utrudnić rozwój umiejętności programistycznych. Wiele osób sugeruje, aby zamiast Bascomu rozważyć naukę języka C lub platformy Arduino, które oferują większe możliwości i wsparcie. Użytkownicy dzielą się swoimi doświadczeniami, wskazując na trudności związane z przesiadką z Bascomu na bardziej zaawansowane języki programowania. Ostatecznie autor tematu decyduje się na rozpoczęcie nauki z Arduino.
Wygenerowane przez model językowy.
REKLAMA