Programatyor USB dla Bascoma, który wybrać?

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Programatyor USB dla Bascoma, który wybrać?

Post autor: M@ciej » 15 wrz 2012, 19:01

Witam.

Tak jak w tytule, który programator USB wybrać, by działał bez problemu z Bascomem? Czy może USB ASP, czy może inny? Nie chodzi mi o gotowy kit, a jedynie schemat i program dla Atmegi8 + sterowniki dla kompa. Płytkę zrobię sam pod konkretną obudowę.

Spanner
Użytkownik
Posty: 364
Rejestracja: 18 lip 2010, 18:29
Lokalizacja: Bielsko biała

Post autor: Spanner » 16 wrz 2012, 7:42

Na pewno nie tani szajs z allegro - podróby oryginałów atmela. Ja jeden taki zamówiłem i przez to że zerował mi procesory, nie chciał programować itp. został zniszczony. Jeśli masz na tyle pieniążków zainteresuj się oryginałem MKII. Pikczu ma i mu działa. A ja i tak uważam że nie ma nic lepszego niż STK200 lub sample ;-)

Awatar użytkownika
Wojtek
Moderator
Posty: 2603
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 wrz 2012, 7:58

USB ASP będzie działał.

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 16 wrz 2012, 10:08

I wtedy w Bascomie ustawić jako STK500? Bo do tej pory używam STK200/300, ale nie wszystkie kompy już mają port drukarkowy, a USB to wiadomo...
Kiedyś używałem Sample, ale wywalał często błędy i rekordowo dopiero za 6. razem mi poprawnie zaprogramował.

Awatar użytkownika
Wojtek
Moderator
Posty: 2603
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 16 wrz 2012, 11:01

Jest tam USBASP

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 16 wrz 2012, 11:33

Skoro od co najmniej 6 lat programujesz AVR w BASCOM, to skąd takie pytanie?
Poza tym istnieje AVRDude + różnego rodzaju nakładki ułatwiające jego obsługę, co uniezależnia programowanie od BASCOM.

I nieco z innej beczki. Zastanów się, czy nie pora już zrobić krok naprzód i zająć się nauką C?

Awatar użytkownika
matrix
Użytkownik
Posty: 1793
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 16 wrz 2012, 11:53

dondu pisze:I nieco z innej beczki. Zastanów się, czy nie pora już zrobić krok naprzód i zająć się nauką C?
Pozwolicie że ja się włączę ale odnośnie powyższego cytatu.
dondu ja próbowałem ale za skarby nie mogę pojąć tego języka. W bascom wszystko przychodzi "tak łatwo" a w C trzeba znać tyle poleceń, dyrektyw, wszystko trzeba obliczać samemu. No i do bascoma mam helpa gdzie z biegu mogę wszystko podejrzeć a w C nikt mi nie pomoże.

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 16 wrz 2012, 19:29

Nie jest tak jak piszesz. Do C jest masę różnych darmowych i na wysokim poziomie bibliotek, które pozwalają równie łatwo pisać skomplikowane programy. Na przykład obsługa wyświetlacza LCD:

Kod: Zaznacz cały

LCD_Initalize();   //inicjalizacja LCD
...
LCD_GoTo(x,y);  //ustaw kursor w miejscu x,y
LCD_WriteText("jakiś tekst");  
...
LCD_Clear();   //czyszczenie wyświetlacza
Czy to trudniejsze niż BASCOM?
A że za tym się kryje gotowa biblioteka, tak samo jak w BASCOM, to nie ma znaczenia.

Albo poezja w postaci:

Kod: Zaznacz cały

y = (a*x*x + b*x + c) / (a + b)
czyni kod czytelnym i krótkim (jedna linika kodu) :)

Problem wynika z:
- panującego wśród BSCOM'owców stereotypu że C jest trudny, który powiela się poprzez czytanie opinii takich jak Twoja. To że Ty nie dałeś sobie rady, nie oznacza, że 15 letni gimnazjalista nie podała temu zadaniu (tylko się nie obraź proszę :) ).
- obawy, że nie dadzą rady się go nauczyć,
- ze zbyt szybkim zniechęceniem się podczas uczenia,
- zapomnieniu, że ucząc się Bascom, także mieli problemy na początku.

Przy okazji warto zerknąć na tę dyskusję: http://pdaclub.pl/forum/hyde-park/progr ... sg1596403/

Zawsze można skorzystać z kursu z kompilatorem online, gdzie w razie problemów zawsze można zadać pytanie:
CManiak - Kurs C z kompilatorem online

A gdy już opanuje podstawy C nagle okazuje się, że wszelkie ograniczenia BASCOM'a znikają i nareszcie ma pełnię władzy nad kodem i wszystko działa szybko i zajmuje kolosalnie mniej pamięci, przez co można zmieścić się z kodem na mniejszym mikrokontrolerze ...

Ale niestety przez to, że BASCOM uczy złych nawyków pisania kodu, przejście z BASCOM'a na C jest trudniejsze niż nauczenie się C bez wcześniejszej znajomości BASCOM'a, czego niestety jesteś przykładem.

Do studentów: Najgorsza rzecz jaką może zrobić student elektroniki itp. to uczyć się BASCOMa.
Dlaczego? Dlatego: Jaki język wybrać?

Każdy oczywiście decyduje samemu :)

Awatar użytkownika
matrix
Użytkownik
Posty: 1793
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 16 wrz 2012, 21:10

Może to nie dyskusja na temat tego czy bascom czy C. Ale uwierz że naprawdę chciałbym nauczyć się C. Nawet przeczytałem z połowę książki symfonia C++ i co? Nic, tyle mojego co przeczytałem. Mało tego, przeczytałem cały kurs ze strony"

http://hobby.abxyz.bplaced.net/index.php?pid=4&cid=1

i co? Nic, tylko przeczytałem i nic nie zostało. Dalej siedzę w bascomie.

Dla mnie w C straszne są te wszystkie obliczenia i porównania. Że na przykład a== to nie to samo co a=, nie mogę pojąć choćbym czytał setki razy co znaczą polecenia a++, że trzeba pamiętać tyle nazw bibliotek i do czego są poszczególne?
A najbardziej denerwuje mnie to że kompletnie nie rozumiem czemu służy zapis:

Kod: Zaznacz cały

int main(void)
Lub o zgrozo zapis:

Kod: Zaznacz cały

or(i=4,buffer[5]=0; a; a/=10,i--) 
           buffer[i]= a%10 + '0';
No czarna magia.
W bascomie mam do...loop, sub...return, if ...then etc.
I to jest przejrzyste i zrozumiałe.

Nawet tu na forum kilka osób mi tłmaczyło ale za chiny zrozumieć nie potrafię.
Rodzi się pytanie czy jestem tak ograniczony?

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 16 wrz 2012, 21:20

matrix pisze:Nawet tu na forum kilka osób mi tłmaczyło ale za chiny zrozumieć nie potrafię.
Rodzi się pytanie czy jestem tak ograniczony?
Nie, tylko popełniasz te błędy:
dondu pisze:Problem wynika z:
...
- obawy, że nie dadzą rady się go nauczyć,
- ze zbyt szybkim zniechęceniem się podczas uczenia,
- zapomnieniu, że ucząc się Bascom, także mieli problemy na początku.
To tylko kwestia przełamania uprzedzenia, które masz :)

To podobnie jak z pisaniem na klawiaturze. Jeżeli całe życie pisałeś wykorzystując 2-6 palców i masz się przestawić na 10 palców, to musisz się przestawić w głowie, bo nie wolno łączyć tych dwóch metod, o czym w instrukcji piszą wszyscy producenci programów do nauki szybkiego pisania.

Bez tego samozaparcia, nic nie wyjdzie.
Innymi słowy trzeba podjąć radykalny krok: Koniec z jednym, od teraz tylko drugie!
Na początku będzie trudniej, ale za tydzień dwa będzie OK.

Czego serdecznie życzę!

Awatar użytkownika
kayron
Użytkownik
Posty: 2059
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 16 wrz 2012, 21:27

Dla mnie w C straszne są te wszystkie obliczenia i porównania. Że na przykład a== to nie to samo co a=, nie mogę pojąć choćbym czytał setki razy co znaczą polecenia a++, że trzeba pamiętać tyle nazw bibliotek i do czego są poszczególne?
Bo C jest językiem o składni wysoce matematycznej, dla tego jeżeli ktoś miał słabo z matmą lub fizą, temu ciężko na C się przesiąść, wiem po sobie.
np.
A+=B to to samo co A=A+B tylko zapisane skrótowo.
Ten przykład to dobitnie pokazuje:
a = 3 b= 6
++a+b-- = 10 ?
Jak to możliwe ?
Trzeba sobie pododawać nawiasy tam gdzie trzeba i wszystko staje się jasne.
To inaczej zapisane to: (++a)+(b--) czyli najpierw zwiększ o 1 a i zmniejsz o 1 b, a potem dodaj do siebie.

Inna sprawa. BASCOM uczy złych nawyków, oraz ideologi programowania, które się potem mszczą przy próbach przejścia na C. Ogólnie moja nauczycielka programowania miała strasznie za złe twórcy BASICa stwierdzenie że "Instrukcja GOTO to nic złego", czy coś w tym stylu. Ale ogólnie jak ktoś raz zaraził się BASCOMem, to ciężka i długa przed nim droga krzyżowa do przejścia na C.
Ostatnio zmieniony 16 wrz 2012, 21:42 przez kayron, łącznie zmieniany 2 razy.

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 16 wrz 2012, 21:31

To co kolega napisał:
kayron pisze:A+=B to to samo co A=A+B tylko zapisane skrótowo.
można przećwiczy w kompilatorze online na gotowych przykładach dostępnych w nim: http://mikrokontrolery.blogspot.com/201 ... yczne.html

Inne także - patrz spis treści kursu C.

Poza tym nic nie stoi na przeszkodzie, by kod pisać tak:

Kod: Zaznacz cały

a = a + b;
skoro tak łatwiej zrozumiesz.


Albo tak:

Kod: Zaznacz cały

a = a + 1;
zamiast tak:

Kod: Zaznacz cały

a++;

Awatar użytkownika
matrix
Użytkownik
Posty: 1793
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 16 wrz 2012, 21:40

kayron pisze:Bo C jest językiem o składni wysoce matematycznej, dla tego jeżeli ktoś miał słabo z matmą lub fizą, temu ciężko na C się przesiąść, wiem po sobie.
Akurat z matematyką czy fizyką nie miałem kłopotu ani w szkole podstawowej ani średniej.

No nic, koniec OT i zaczynam znowu próbować.

Awatar użytkownika
dondu
Użytkownik
Posty: 211
Rejestracja: 24 maja 2005, 9:47
Lokalizacja: Śląskie
Kontakt:

Post autor: dondu » 17 wrz 2012, 0:51

kayron pisze:Ogólnie moja nauczycielka programowania miała strasznie za złe twórcy BASICa stwierdzenie że "Instrukcja GOTO to nic złego", czy coś w tym stylu.
Nie tylko ona: http://mikrokontrolery.blogspot.com/201 ... -goto.html :)

matrix pisze:No nic, koniec OT i zaczynam znowu próbować.
Jak to powiedział mistrz Yoda do Luke'a Skywalkera, gdy go szkolił:
Yoda pisze:Nie próbuj, rób albo nie rób, nie ma próbowania.
Albo porzuć BASCOM i przejdź na C, albo nie zaczynaj nauki C.

Awatar użytkownika
M@ciej
Użytkownik
Posty: 736
Rejestracja: 13 sie 2005, 21:38
Lokalizacja: Szczecin

Post autor: M@ciej » 17 wrz 2012, 8:31

Ha, u mnie to samo. Za bardzo wszedłem w Bascoma, żeby teraz lekką ręką przejść na C. Choć staram się omijać te bascomowe instrukcje i coraz częściej odwołuję się do rejestrów, np podczas konfigurowania PWM czy komparatora. Niestety Bascom to droga zamknięta, ślepa uliczka i pozostanie w kilku prockach jednej rodziny. Aby wejść w STM i dalej, nieodzowny jest C.
Ja też zaczynałem przygodę z C od "Symfonii" i "zmałpowane" przykłady z ksiażki ładnie mi działały, ale jak już chciałem napisać coś po swojemu, coś zmienić, wywalał błędy, więc ciepnąłem to w kąt, ale to było lata temu i teraz coraz bardziej zastanawiam się nad tym C. Konieczność konfigurowania mi nie straszna, bo lepiej wtedy wiem, co w procku piszczy.
Tymczasem puki co pokutuje u mnie Bascom i do niego chciałbym dobrać programator USB.

ODPOWIEDZ