Skocz do zawartości

Wybór języka po raz kolejny


amon

Pomocna odpowiedź

KD93, z porównaniem konsoli i pc (konsola = bascom, pc = C) chodziło raczej imo też o to, że bez problemu popiszesz na HC08, ARMy, PICe, AVR zarówno 8, 16 jak i 32bit (a bascom ma wsparcie chyba tylko dla 1 xmegi). Jak chcesz zrobić robota na pc, to też bez najmniejszego problemu. Co do tego basica na ARMy, zgubiłem linka, ale żadnych większych informacji na ten temat nie mogłem znaleźć, poza tym to był inny basic niż bascom. Jeżeli chcesz stać w miejscu (tylko 8bit avr), to ucz się bascoma, jeśli chcesz mieć możliwość pisania na inne uC (i nie tylko), to ucz się C. Z tym, że na początku C na uC może być kłopotliwe do nauczenia, szczególnie po bascomie (nie oszukujmy się, nieskładna składnia 😋 ). Pisanie programu z jednoczesnym przeszukiwaniem datasheeta też do największych przyjemności nie należy (ale jak już się nauczy w końcu nazw rejestrów, to jest luz, bo w większości wszystkich uC jednej rodziny są takie same). Ja niestety za bardzo nigdy dalej w C nie przebrnąłem, mam nadzieję, że przymusowa nauka tego języka za rok mnie do tego nakłoni (co prawda na pc, ale żeby przerzucić się potem na pc wystarczy tylko poznać te nieszczęsne nazwy rejestrów).

Link do komentarza
Share on other sites

Wysłany: Dzisiaj 14:31 Temat postu:

Jacek31 napisał/a:

Nie do końca, Bascom lubi być upierdliwy.

No i następne hasło. A co to znaczy, że lubi być upierdliwy? Zacznijcie chociaż podawać jakieś przykłady.

Już odpowiadam bo rano brakło mi czasu. Głupia komenda Config Timer, niby wszystko fajne proste, klarownie opisane w helpie. I tak jest do puki używasz niejako podstawowych procesorów AVR i to najlepiej jeszcze tych z serii 90Sxxxx lub pierwszych ATMeg jak 8/16 czy 162. Ale spróbuje sobie uruchomić bardziej zaawansowane tryby Timera, w ATTiny861 lub ATTiny 25, czy nawet ATTINY2313 to BASCOM albo wywali ci od razu ERROR, albo nawet skompiluje, ale po wgraniu do procesora, doznasz zdziwienia czemu to nie działa tak jak powinno. Ogólnie BASCOM w pewnym momencie przestał nadążać za rozwojem AVRów (szczególnie rodzina TINY), ale nie bez winy jest tu też ATMEL który w pewnym momencie też przestał się trzymać kompatybilności rejestrów SFR między poszczególnymi rodzinami procesorów, co dziś czasami owocuje tym że w BASCOM może nas to i owo zaskoczyć.

Ale jak masz zamiar się trzymać takich CPU jak ATTiny2313, Atmega8, to raczej większych problemów nie napotkasz.

  • Lubię! 1
Link do komentarza
Share on other sites

Mi się wydaje, że rozwiązaniem, które może pogodzić obie strony, jest pisanie w środowisku Arduino. Jest proste, czytelne i intuicyjne jak Bascom, ale składnia jest taka jak w C, więc wyrabia dobre nawyki i łatwiej się później przesiąść na programowanie w czystym C.

Link do komentarza
Share on other sites

Mi się wydaje, że rozwiązaniem, które może pogodzić obie strony, jest pisanie w środowisku Arduino. Jest proste, czytelne i intuicyjne jak Bascom, ale składnia jest taka jak w C, więc wyrabia dobre nawyki i łatwiej się później przesiąść na programowanie w czystym C.

I właśnie o tym pisałem: zaczynasz od "łatwiejszej" wersji C - czyli Arduino, potem C, C++, JAVA czy wreszcie PHP nie będzie stanowiło problemu. A każdy z tych języków to inna technologia, jednak na tyle podobna składnia, że ucząc się jednego z nich niejako "przy okazji" nauczysz się pozostałych.

Nie chcę reklamować swoich pomysłów - ale już niedługo na Diodze pojawi się nowy robocik + moduł pod Arduino. Oczywiście wraz z kodami i pełną dokumentacją.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Zależy do czego to Tobie potrzebne, ale jednak C/C++ daje większe możliwości i jest zdecydowanie szerzej używane.

Jak to ma być bardziej zabawa to Bascom jest jak najbardziej ok. Jak chcesz w przyszłości programować większe systemy i mieć z tego pieniądze to jednak unikaj Bascoma, bo daleko na tym nie zajedziesz.

Link do komentarza
Share on other sites

Arduino. Jest oparte na C/C++, co sprawia, że późniejsza przesiadka jest bardzo łatwa, a czytelnością i prostotą dorównuje albo i przewyższa Bascoma.

Link do komentarza
Share on other sites

Dopiero co się zarejestrowałem więc witam wszystkich 😉

Parę miesięcy temu zainteresowałem się trochę tematyką robotów (i wogóle elektroniką 😋). Zbudowałem sobie światłoluba i na tym się skończyło z powodu wielu obowiązków. Dziś jednak sobie pomyślałem o robotach na nowo. Chciałbym jednak naprawdę się w temat wkręcić i nie skończyć jak większość 'fanatyków' na napisaniu tematu na forum. Mam oczywiście wiele swoich wyobrażeń niesamowitych robotów jednak pod tym względem jestem realistą i wiem że większość nie jest możliwa, przynajmniej nie bez pracy i praktyki.

Nie wiem jak to wygląda z punktu widzenia doświadczonych ludzi ale kompletnie 'zielony' jest poprostu przytłaczany ilością informacji jakie trzeba przyswoić. AVR, PIC, 8051-poprostu tysiące zagadnień niezrozumiałych dla osób które są 'niewtajemniczone'.

Dlatego właśnie piszę ten temat, nie jest on po to by na nowo rozpocząć dyskusje "Który język jest lepszy" lecz by prosić o pomocne rady od bardziej zaawansowanych.

Otóż zanim zacznę latanie po wszystkich sklepach z elektroniką i machanie lutownicą chciałbym przygotować się pod względem programowania. I tu właśnie jest problem-C czy BASCOM? A może coś jeszcze innego?

Z jednej strony widzę że na tym forum ludzie chyba głównie siedzą w BASCOM'ie jednak słyszałem że język ten wyrabia złe nawyki w programowaniu. Słyszałem też opinie że C daje więcej możliwości, natomiast czytałem post(chyba na elektrodzie ale czymś podobnym) w którym człowiek wyraźnie napisał że C i BASCOM to praktycznie to samo na dzień dzisiejszy-oba języki dają te same możliwości.

No tak, ale jak macie mi doradzić język? Może następne zdania rozwiążą ten problem:

Jestem kompletnie zielony,nie miałem wcześniej styczności z programowaniem, jednak zdeterminowany (to już nie jest ten słomiany zapał). Chciałbym zająć się językiem który daje więcej możliwości i jest przyszłościowy. Gdyby znalazła się osoba która uczyła się obu języków albo chociaż miała z nimi pewną styczność to chciałbym się dowiedzieć jak w jej opinii przedstawia się trudność ich nauki. Jeśli już ktoś zdecyduje się odpowiedzieć w tym temacie to prosiłbym również jeśli zna jakieś tutoriale bądź tytuły książek z podstawami języka który poleca to prosiłbym o podanie.

Z góry dziękuję i pozdrawiam

Link do komentarza
Share on other sites

Ja ze swojej strony polecam zacząć od Arduino. Jeśli chodzi o składnię, to jest identyczny z C/C++, natomiast jest dużo prostszy do nauczenia się, gdyż podobnie jak BASCOM nie wymaga bezpośredniej obsługi rejestrów itp. Kiedy niedawno zacząłem się tym bawić byłem pod sporym wrażeniem jak łatwo i przyjemnie się programuje 🙂 W dodatku w sieci jest mnóstwo materiałów odnośnie programowania w Arduino i projektów o nie opartych. Niedługo na Diodzie postaram się umieścić krótki kurs opisujący podstawy programowania w tym środowisku.

Link do komentarza
Share on other sites

Bascom umożliwia bardzo szybkie napisanie dowolnego programu bez znajomości "bebechów" mikrokontrolera, ale umożliwia programowanie tylko AVRów 8-mio bitowych. Bardzo szybko i dość przyjemnie się w nim pisze, jest dość logiczny, składnia jest prosta. Jeśli chodzi o wady, to możliwość programowania tylko AVRów, niektórzy twierdzą, że kod z Bascoma wykonuje się dłużej, że jest mniej optymalny, ja osobiście tego nie zauważyłem. Prawdą jest, że Bascom rozleniwia 🙂, bo nie musisz studiować dokumentacji mikrokontrolera aby napisać program, czy wyrabia złe nawyki, w moim odczuciu nie, bo i tak uczysz się pisać programy, uczysz się logiki basic'owej.

Jeśli chodzi o C to jest dużo trudniej zacząć, oczywiście jest to język przyszłościowy bo są kompilatory pod prawie każdy mikrokontroler dostępny na rynku, więc nie jesteś ograniczony tylko do AVRów. Z mojego punktu widzenia C ma dość toporną składnię, cała konfiguracja środowiska jest niełatwa, programowanie nie zawsze sprowadza się do kliknięcia przycisku "programuj", no i oczywiście C wymaga bardzo dobrej znajomości "bebechów" mikrokontrolera.

Aktualnie zaczynam się uczyć C ze względu na przesiadkę na xmegi, które nie są jeszcze w pełni obsługiwane w Bascomie. Nie oznacza to wcale, że przestanę pisać programy w Bascomie. Jeśli będę potrzebował napisać szybko i bezboleśnie jakiś program to na 100% zostanie napisany w Bascomie.

To co napisałem powyżej to moje prywatne zdanie i nie każdy musi się z tym zgadzać, więc proszę nie komentować mojego postu tylko rzeczowo odpowiadać koledze Crusader.

PS. Scaliłem temat z poprzednim wywodem na temat wyboru języka, zakładanie nowego tematu nie ma sensu a w gruncie rzeczy powinieneś dostać ostrzeżenie za zakładanie nowego tematu a nie czytanie starego.

Link do komentarza
Share on other sites

Oczywiście C - na początek zacznij od C w wersji Arduino. Znacznie szybciej i łatwiej nauczysz się tego języka niż BASCOM'a.

Przykład kodu programu (całego kodu) mrugającej diody Arduino:


void setup() {                
//konfiguracja pinu procesora
 pinMode(13, OUTPUT);     
}

void loop() {
 digitalWrite(13, HIGH);   // zaświeć diodę
 delay(1000);              // poczekaj sekundę
 digitalWrite(13, LOW);    // zgaś diodę
 delay(1000);              // poczekaj sekundę
}

Jedyne co potrzebujesz kupić to Arduino i podłączyć kablem USB do komputera. Oczywiście coś takiego jak oddzielny programator, ustawienia fusbitów i inne "przyjemności" nie są Ci potrzebne, przy używaniu Arduino.

Opanujesz C "Arduinowe" bez problemu przesiądziesz się na C, a następnie możesz zabawić się PIC'ami.

Sam kiedyś dawno temu programowałem w VB oraz ASP i zaciekle broniłem BASIC'a, że łatwiej, że szybciej, że można to samo. Aż w końcu z wielką niechęcią spróbowałem C++, PHP a obecnie C#. W życiu nie wrócę do BASICA - poza VBA, który uważam za genialny.

Jeżeli będziesz miał jakieś pytania - pisz na priv - na pewno pomogę w temacie Arduino 🙂

Link do komentarza
Share on other sites

Podjąłem decyzję by zająć się Arduino. Wygląda na ciekawszę propozycję dajcą więcej możliwości. A i jak mówiliście łatwiej przesiądę się na C co może mi się przydać jeśli się wkręcę ^^ Poza tym kto wie co będę robić w przyszłości, może C mi się przyda.

Mam pytanie o jakieś tutoriale etc po polsku...mój angielski strasznie zardzewiał przez ten rok, a jakoś nie wyobrażam sobie nauki programowania po angielsku-2 języki obce naraz 😋

Poza tym właśnie rzuciłem okiem na parę sklepów internetowych i tak patrze na ich produkty, mam jednak pewne pytanie: Są różne produkty takie jak Arduino Uno czy Arduino Duemilanove. Jakie są między nimi różnice?...albo może inaczej-czy ja, zielony, dopiero się uczący odczuję jakąś różnicę czy na moim poziomie to narazie wszystko jedno?

Niedługo na Diodzie postaram się umieścić krótki kurs opisujący podstawy programowania w tym środowisku.

Niecierpliwie czekam

PS. Scaliłem temat z poprzednim wywodem na temat wyboru języka, zakładanie nowego tematu nie ma sensu a w gruncie rzeczy powinieneś dostać ostrzeżenie za zakładanie nowego tematu a nie czytanie starego.

To się więcej nie powtórzy

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.