Asembler to język niskiego poziomu, więc jego jako początkujący możesz sobie darować (przy czym bascom daje możliwość wplatania instrukcji asemblera w celu wygenerowania lepszego kodu, więc z czasem pewnie i tak go chociaż trochę poznasz).
Mikroprocesory- Jaka książka?
Jeśli mikrokontrolery traktujesz jako hobby i jeszcze nigdy nie programowałeś, to nawet się nie zastanawiaj i wybierz bascom
. Natomiast jeśli masz predyspozycje aby zostać inżynierem elektronikiem to bierz się od razu za C. Sam zacząłem od C, ale wynikało to raczej z przerostu moich ambicji. Nie żałuję, że się uczyłem C, ale z punktu widzenia korzyści jakie z tego osiągnąłem (jeśli chodzi o programowanie mikrokontrolerów) była to raczej strata czasu.
Asembler to język niskiego poziomu, więc jego jako początkujący możesz sobie darować (przy czym bascom daje możliwość wplatania instrukcji asemblera w celu wygenerowania lepszego kodu, więc z czasem pewnie i tak go chociaż trochę poznasz).
Asembler to język niskiego poziomu, więc jego jako początkujący możesz sobie darować (przy czym bascom daje możliwość wplatania instrukcji asemblera w celu wygenerowania lepszego kodu, więc z czasem pewnie i tak go chociaż trochę poznasz).
Fruttis pisze:Jeśli mikrokontrolery traktujesz jako hobby i jeszcze nigdy nie programowałeś, to nawet się nie zastanawiaj i wybierz bascom. Natomiast jeśli masz predyspozycje aby zostać inżynierem elektronikiem to bierz się od razu za C
Dziwne podejście. Generalnie język C jest bardziej uniwersalny i kod daje się przenosić między różnymi rodzinami mikrokontrolerów. W Bascomie korzysta się z różnych gotowych funkcji natomiast w C trzeba je sobie samemu napisać. To jedyna różnica między tymi jezykami i wcale to nie znaczy że C jest trudniejsze od Bascoma czy Bascom od C. W assemblerze podobnie, z tym że w asemblerze można uzyskać krótsze czasy działania określonych części programu jak i całego programu.
@ snow
Nie mieszaj ludziom w głowie. Wymieniłeś tylko nieliczne różnice między C a bascom'em. Właśnie po to został wynaleziony bascom aby ludzie nie musieli się uczyć przez rok czy dłużej C zanim napiszą swój pierwszy DZIAŁAJĄCY program (na µkontroler). Bascom jest o wiele łatwiejszy od C i dlatego zdecydowanie bardziej wskazany dla hobbystów. W sumie to tak wrzuciłeś te języki do jednej beczki jakbyś je znał tylko ze słyszenia (akurat asembler jest językiem niskiego poziomu i cholernie trudny do nauczenia, więc nijak się nie ma do tych dwóch pozostałych).
Nie mieszaj ludziom w głowie. Wymieniłeś tylko nieliczne różnice między C a bascom'em. Właśnie po to został wynaleziony bascom aby ludzie nie musieli się uczyć przez rok czy dłużej C zanim napiszą swój pierwszy DZIAŁAJĄCY program (na µkontroler). Bascom jest o wiele łatwiejszy od C i dlatego zdecydowanie bardziej wskazany dla hobbystów. W sumie to tak wrzuciłeś te języki do jednej beczki jakbyś je znał tylko ze słyszenia (akurat asembler jest językiem niskiego poziomu i cholernie trudny do nauczenia, więc nijak się nie ma do tych dwóch pozostałych).
Pierwszy działający program można napisać w 30 minut (miganie diodą) siadając pierwszy raz od zeraFruttis pisze:aby ludzie nie musieli się uczyć przez rok czy dłużej C zanim napiszą swój pierwszy DZIAŁAJĄCY program (na µkontroler)
Musisz mi uwierzyć że znam z praktyki. Wszystko jest kwestią potrzeby nauczenia się danego języka. Jak ktoś podchodzi do tematu z założeniem że coś jest cholernie trudne to się nigdy nie nauczy. Ja też odniosłem wrażenie że ty nigdy w C nie pisałeś a tylko słyszałeś że jest trudny i szkoda na niego czasu.Fruttis pisze:W sumie to tak wrzuciłeś te języki do jednej beczki jakbyś je znał tylko ze słyszenia (akurat asembler jest językiem niskiego poziomu i cholernie trudny do nauczenia, więc nijak się nie ma do tych dwóch pozostałych).
Jak ktoś sobie napisze funkcję w C:
Kod: Zaznacz cały
int adc(char wejscie)
{
....
}Kod: Zaznacz cały
wynik=adc(0);Skompiluj sobie to co napisałeś i wgraj do ATmegi8, to zobaczymy jak Ci zaświeci
A później jeszcze napisz mi program, który wyświetli "hello world" na LCD 2*16. Ciekawe czy po porównaniu kodów źródłowych nadal będziesz zdania, że nie ma prawie różnicy.
A do twojej wiadomości: uczyłem się C dwa miesiące i na peceta umiem pisać łatwe programy, ale jak napisac coś na atmege to allah raczy wiedzieć. Właśnie dlatego początkującym odradzam C.
A później jeszcze napisz mi program, który wyświetli "hello world" na LCD 2*16. Ciekawe czy po porównaniu kodów źródłowych nadal będziesz zdania, że nie ma prawie różnicy.
A do twojej wiadomości: uczyłem się C dwa miesiące i na peceta umiem pisać łatwe programy, ale jak napisac coś na atmege to allah raczy wiedzieć. Właśnie dlatego początkującym odradzam C.
...Skompiluj sobie to co napisałeś i wgraj do ATmegi8, to zobaczymy jak Ci zaświeci
Proszę bardzo:Fruttis pisze:A później jeszcze napisz mi program, który wyświetli "hello world" na LCD 2*16.
Kod: Zaznacz cały
#include <avr/io.h>
#include "lcd.h"
int main(void)
{
lcd_init(LCD_DISP_ON);
lcd_gotoxy(0,0);
lcd_puts("Hello world");
while(1)
{
}
return(0);
}
Tak właśnie myślałemFruttis pisze:ale jak napisac coś na atmege to allah raczy wiedzieć.
Tak jak myślałem. Kompilator wywalił mi masę błędów (zresztą już na pierwszy rzut oka widać że w tym twoim kodzie brakuje niektórych elementów). Więc jeszcze raz: NIE WCISKAJ LUDZIOM KITU, że C jest równie łatwe jak BASCOM.
W bascomie wystarczy wklepać:
Cls
LCD "hello world"
End
(przy czym wcześniej trzeba tylko w ustawieniach wybrać jaki ma być wyświetlacz i µk)
W bascomie wystarczy wklepać:
Cls
LCD "hello world"
End
(przy czym wcześniej trzeba tylko w ustawieniach wybrać jaki ma być wyświetlacz i µk)
Bo nie masz plików lcd.h i lcd.c które należy dołączyć do projektu (podobnie jak w BASCOMie gdzie takie biblioteki są dołączane). Wywal z BASCOM'a bibliotekę do LCD i skompiluj swój kod - zobaczymy co zrobi twój BASCOM
(nie wiem czy wiesz że BASCOM posiada biblioteki?) Jak widzę dyskusja z tobą na temat różnic między C a BASCOM'em nie ma sensu bo nie masz pojęcia o pisaniu programów w C na AVR (o czym wspomniałeś wcześniej) zatem nie wiesz jak napisać program w C czyli twoje zdanie jest mało znaczące 
Swoją drogą ciekaw jestem co kolega Fruttis robi jak musi obsłużyć układ do którego nie ma bibliotek w Bascomie
Swoją drogą ciekaw jestem co kolega Fruttis robi jak musi obsłużyć układ do którego nie ma bibliotek w Bascomie
Jeszcze raz dla wolniej myślących:
To jest wątek, w którym autor pyta jak zacząć przygodę z mikrokontrolerami, a nie wątek na temamt różnic między C a bascomem. Czyli która książka jest najbardziej odpowiednia dla kompletnie zielonych w materi programowania. Tak więc z czystym sumieniem poleciłem podręcznik o programowaniu w Bascomie, bo jest to język (środowisko programistyczne) wymyślone właśnie z myślą o osobach, które nie chcą wnikać w szczegóły co to są biblioteki, rejestry itp itd.
Sam kolego Snow własnie przyznałeś, że w bascomie mam wszystko gotowe i nie musze się bawić w dołączanie bibliotek (czyli że bascom jest prostszy w obsłudze). No ale zaraz pewnie znowu będziesz trollował, że między bascomem a C nie ma praktycznie różnicy.
"Swoją drogą ciekaw jestem co kolega Fruttis robi jak musi obsłużyć układ do którego nie ma bibliotek w Bascomie
"
Taka sytuacja nie będzie miała miejsca, bo uczę się na prostej płytce testowej (jak większość osób zaczynających przygodę z mikrokontrolerami) ...stąd nie muszę dołaczać bibliotek a tym bardziej nie potrzebne mi C.
To jest wątek, w którym autor pyta jak zacząć przygodę z mikrokontrolerami, a nie wątek na temamt różnic między C a bascomem. Czyli która książka jest najbardziej odpowiednia dla kompletnie zielonych w materi programowania. Tak więc z czystym sumieniem poleciłem podręcznik o programowaniu w Bascomie, bo jest to język (środowisko programistyczne) wymyślone właśnie z myślą o osobach, które nie chcą wnikać w szczegóły co to są biblioteki, rejestry itp itd.
Sam kolego Snow własnie przyznałeś, że w bascomie mam wszystko gotowe i nie musze się bawić w dołączanie bibliotek (czyli że bascom jest prostszy w obsłudze). No ale zaraz pewnie znowu będziesz trollował, że między bascomem a C nie ma praktycznie różnicy.
"Swoją drogą ciekaw jestem co kolega Fruttis robi jak musi obsłużyć układ do którego nie ma bibliotek w Bascomie
Taka sytuacja nie będzie miała miejsca, bo uczę się na prostej płytce testowej (jak większość osób zaczynających przygodę z mikrokontrolerami) ...stąd nie muszę dołaczać bibliotek a tym bardziej nie potrzebne mi C.
Na poprzedniej stronie było pytanie o to czy C czy Bascom na początek.Fruttis pisze:To jest wątek, w którym autor pyta jak zacząć przygodę z mikrokontrolerami, a nie wątek na temamt różnic między C a bascomem
Tak, masz wszystko gotowe a biblioteki dołączać musisz (dodajesz linie konfiguracyjne LCD). Zresztą są płatne kompilatory C które mają biblioteki.Fruttis pisze:Sam kolego Snow własnie przyznałeś, że w bascomie mam wszystko gotowe i nie musze się bawić w dołączanie bibliotek (czyli że bascom jest prostszy w obsłudze)
Praktycznie nie ma. Mając biblioteki zarówno w C i Bascomie dość łatwo jest programować.Fruttis pisze:między bascomem a C nie ma praktycznie różnicy
Na koniec tej bezsensownej dyskusji z kolegą który nie napisał nigdy programu w C na AVR (a wypowiada się jakie to C jest be i najlepiej trzymać się od niego z daleka) napiszę że obojętne od czego się zacznie. Jak się ma chęć zajmować dłużej warto zainteresować się C (darmowy kompilator, środowisko z symulatorem i obsługą JTAG). Język bardziej elastyczny, bardziej uniwersalny gdyż zarówno procesory 8,16 jak i 32 bitowe się da programować. Bascom generalnie jest dla procesorów 8bitowych. Najlepiej pisać w tym w czym się komuś piszę wygodnie. Poza tym jeśli ktoś zacznie od jednego języka i środowiska to trudniej jest się przestawić na coś innego.
Podsumowując ja polecam C.
1. A jak się nauczy obsługiwać tą jedną płytkę to co dalej? Nie będzie umiał dołączać bibliotek i nie będzie się mógł rozwijać.
2. Bascom to nie język programowania, w Bascomie pisze się w Basicu, język stary jak świat i bardzo "rozwlekły"
3. Nie wydaje mi się, żeby twórcy Bascoma stawiali sobie za główny cel ukrycie przed użytkownikiem co to jest rejestr i jak dołączać biblioteki i jak by nie patrzeć informacja co to jest rejest nie jest szczegółem
4. Pomiędzy Basiciem a C jest kolosalna różnica, są to dwa zupełnie różne języki
5. Moja wypowiedź jest mocno subiektywna
6. Z literatury bardzo polecam kurs C z EdW, zrozumie go osoba która w życiu nie miała do czynienia z C.
2. Bascom to nie język programowania, w Bascomie pisze się w Basicu, język stary jak świat i bardzo "rozwlekły"
3. Nie wydaje mi się, żeby twórcy Bascoma stawiali sobie za główny cel ukrycie przed użytkownikiem co to jest rejestr i jak dołączać biblioteki i jak by nie patrzeć informacja co to jest rejest nie jest szczegółem
4. Pomiędzy Basiciem a C jest kolosalna różnica, są to dwa zupełnie różne języki
5. Moja wypowiedź jest mocno subiektywna
6. Z literatury bardzo polecam kurs C z EdW, zrozumie go osoba która w życiu nie miała do czynienia z C.