Skocz do zawartości

Kilka pytań (konkretne i ogólne)


Pomocna odpowiedź

Napisano

Witam.

Jest to mój pierwszy temat na tym forum więc na początku powiem kilka rzeczy o sobie. Mam 15 lat (niedługo 16) i interesuje mnie robotyka. Umiem już (chyba) podstawy: symbole elementów, obliczanie oporu, natężenia, napięcia itp. Mechanika w robocie to raczej nie problem, gdyż już tym zajmuję się od najmłodszych.

Temat nie jest typu "mam 15lat, wy mi dacie schemacik, kosztorys itp. a ja zbuduję robota"

A teraz przejdźmy do pytań:

Na początku jedno pytanie ogólne.

1. Od jakiego języka zaczęć naukę? Z tego co wyczytałem to mikrokontrolry programuje się w Basiconie - jest może jakaś książka o tym języku? (jak coś to nauka języka nie będzie problemem, ani czymś nowym - umiem trochę HTML i gm'l który jest oparty na C++)

Pozdrawiam i proszę o wyrozumiałość, gdyż jest to mój pierwszy past na tym forum.

Zależy co chcesz osiągnąć... Jeśli do rekreacyjnego programowania to BASCOM, jeśli chcesz zająć się tym na poważnie to pierw asembler, potem C dla mikrokontrolerów. Kursów na forum i w necie jest mnóstwo 🙂

Bascom, przy znajomości innych języków programowania, to jakieś 3 godziny na opanowanie podstaw (kurs na forum). C to trochę więcej. Dlatego moim zdaniem warto znać oba języki, a skupić się na C jako bardziej przyszłościowym (zmiana rodziny mikrokontrolerów). W bascomie w kilka minut napiszesz prosty program np. do testów układu, C przyda się w bardziej zaawansowanych projektach. Ale batalia C vs BASCOM trwa na forum od zawsze i zawsze znajdą się ludzie popierający tylko jeden z tych języków (zazwyczaj nie próbowali programować w drugim).

Do Bascoma polecam kurs na forum i książkę pana P. Góreckiego wydawnictwa BTC, nie pamietam teraz tytułu.

Do C świetna jest książka p. Kardasia wydawnictwa Atnel

Ja właśnie "walczę" z przesiadką na C i powiem tyle, że Bascom był dobry do "zabawy" jednak teraz przy przejściu na C widzę jak wiele "złego" (?) w nim było, i że nauczył mnie lenistwa w pewnych sprawach. Jeśli masz zamiar zajmować się tym długo to zajmij się C.

Dzięki wszystkim za szubką odpowiedź 🙂

Jeśli masz zamiar zajmować się tym długo to zajmij się C.

Praktycznie wiąże z robotyką przyszłość (również zawodową), więc raczej zacznę się uczyć C.

BASCOM raczej ci odradzam, nawet jak ktoś to nazwał do rekreacyjnego programowania. To środowisko nauczy cie co najwyżej złych nawyków.

U nas BASCOM AVR jest szczególnie popularny, bo wałkowano go we wszystkich czasopismach, jest sporo książek, ale na dzień dzisiejszy to zamknięty rozdział Historii programistyki, nie przedstawiający jako-tako żadnych sensownych perspektyw na przyszłość, mimo że autorzy próbują usilnie to środowisko rozwijać. No chyba że zrobią wersje pod ARMy ?

Jeżeli chcesz się uczyć z pożytkiem dla siebie, to tylko C, platforma czyli procesor nie jest już tak istotna, AVR, ARM, PIC, kwestia gustu, finansów, chęci.

Jeszcze od siebie dodam, że kiedy zaczynałem z Bascomem to w sumie w takiej hobbystycznej elektronice większość osób używała głównie AVR'ki i to było dla mnie ok, jednak teraz coraz większą popularność zyskują inne procesory, a decydując się na Bascoma praktycznie "skazujesz" siebie tylko na jedną rodzinę uC. Teraz są już dostępne książki do C na AVR, dlatego na pewno będziesz miał łatwiejszy start.

1. Od jakiego języka zaczęć naukę? Z tego co wyczytałem to mikrokontrolry programuje się w Basiconie - jest może jakaś książka o tym języku? (jak coś to nauka języka nie będzie problemem, ani czymś nowym - umiem trochę HTML i gm'l który jest oparty na C++)

Dla Ciebie najlepszym wyborem jest C. Tutaj masz dokładnie opisane zalety i wady języków stosowanych w mikrokontrolerach: http://mikrokontrolery.blogspot.com/2011/04/jaki-jezyk-wybrac.html

https://www.forbot.pl/forum/topics40/wybor-jezyka-po-raz-kolejny-vt4478.htm?highlight=jaki+j%EAzyk

Jak to przeczytasz to raczej wszystko będziesz wiedział. Powinno cię najść nawet pytanie, po co zakładałeś nowy temat 😉 Lepiej chyba poznać opinię wielu osób które się borykały z tym problemem, niż jedną subiekywną opinię na jakimś blogu. Tym bardziej że pojawiają się tam określenia, że Bascom jest wolniejszy (?) od C i Asm.

Wbrew pozorom asembler wcale nie jest taki trudny i pozwala na doskonałe zrozumienie idei działania poszczególnych peryferiów, rejestrów, organizacji pamięci itp. Poza tym daje wyobrażenie jakich działań powinno się unikać na danym procesorze. Jeżeli programista musi się męczyć z obsługą jakiegoś działania oznacza to, że na pewno procesor też będzie się z tym męczyć. Najlepszym przykładem jest tutaj wielokrotnie wałkowane dzielenie. Jedynym problemem jest tutaj mała ilość pomocy w internecie.

W ramach konkursu wakacyjnego miałem napisać kilkuczęściowy kurs asemblera na podstawie programów z których sam się uczyłem. Ale stwierdziłem, że nie ma na coś takiego zapotrzebowania to sobie dałem spokój.

Moim zdaniem jako język do nauki migania diodami i ewentualnie prostych programów na pętlach i warunkach asembler jest idealny.

W ramach konkursu wakacyjnego miałem napisać kilkuczęściowy kurs asemblera na podstawie programów z których sam się uczyłem. Ale stwierdziłem, że nie ma na coś takiego zapotrzebowania to sobie dałem spokój.
Wielka szkoda. Chętnie przeczytałbym taki kurs.

Mogę go opisać i wrzucić gdzieś w okolicach ferii zimowych jeżeli będę miał trochę więcej czasu. Na razie na pewno nie dam rady tego ogarnąć bo mam na głowie inżynierkę, przyspieszoną sesję i egzamin dyplomowy.

Jeszcze raz wielkie dzięki za odpowiedź 🙂

Powinno cię najść nawet pytanie, po co zakładałeś nowy temat

A no założyłem nowy temat, po to by nie zaśmiecać wieloma tematami forum. Dlatego temat nazwywa się "Kilka pytań"

I jeszcze takie mały pytanie.

Co jeszcze muszę się nauczyć oprócz języka?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...