Goto page 1, 2, 3 Next
Adam
Guest
Tue Feb 08, 2011 9:50 am
Witam
Chciałbym rozpocząć naukę programowania AVRów, na początek w Bascomie.
Znajomy udostępnił mi taką płytkę ewaluacyjną do ATMegi16:
EVBavr05
http://www.propox.com/products/t_145.html
mam też programator na JTAG i RS-a:
JTAGcable I
http://www.propox.com//products/t_99.html
Pierwotnie jakiś kolega kolegi wykorzystywał to z Winavr i C.
Czy można używać tego do programowania AVRów w BASCOM-AVR?
Próbowałem go uruchomić, ale bascom niestety go nie zauważa...
Wiem że google zna odpowiedzi na wszystkie pytania, jednak początkującemu
jest bardzo ciężko się w tym połapać.
Proszę wyjaśnijcie mi jak uruchomić ten programator w bascomie (jeśli wogóle
się da).
pozdrawiam
Adam
Piotrek_P
Guest
Tue Feb 08, 2011 11:30 am
Użytkownik "Adam" <adam155423@wp.pl> napisał w wiadomości
news:4d510385$0$2437$65785112@news.neostrada.pl...
Quote:
Witam
Chciałbym rozpocząć naukę programowania AVRów, na początek w Bascomie.
Znajomy udostępnił mi taką płytkę ewaluacyjną do ATMegi16:
EVBavr05
http://www.propox.com/products/t_145.html
mam też programator na JTAG i RS-a:
JTAGcable I
http://www.propox.com//products/t_99.html
Pierwotnie jakiś kolega kolegi wykorzystywał to z Winavr i C.
Czy można używać tego do programowania AVRów w BASCOM-AVR?
Próbowałem go uruchomić, ale bascom niestety go nie zauważa...
Wiem że google zna odpowiedzi na wszystkie pytania, jednak początkującemu
jest bardzo ciężko się w tym połapać.
Proszę wyjaśnijcie mi jak uruchomić ten programator w bascomie (jeśli
wogóle się da).
Nie widzę Twojego na liście obsługiwanych przez Bascom programatorów, tyle
że ja mam jakąś starą wersję. Zainstaluj sobie AVRStudio i spróbuj z niego
zaprogramować procka, a nawet na początek wystarczy sprawdzić czy Ci procka
wykryje. Powinno.
--
Pozdrawiam
Piotrek
Pawel \"O'Pajak\"
Guest
Tue Feb 08, 2011 6:00 pm
Powitanko,
Quote:
Proszę wyjaśnijcie mi jak uruchomić ten programator w bascomie (jeśli wogóle
się da).
Nawet jak sie nie da, to zaden problem. Bascom tworzy plik wynikowy po
kompilacji we wszystkich rozszerzeniach jakie sa potrzebne. Zaden
problem zaimportowac ten plik do programu obslugujacego dany
programator. Nie jest to az tak strasznie niewygodne.
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
******* >>> !!! UWAGA: ODPOWIADAM TYLKO NA MAILE ->:
> pavel(ten_smieszny_znaczek)aster.pl <<<<*******
sundayman
Guest
Tue Feb 08, 2011 6:19 pm
To ja powiem coś, co się koledze bardzo nie spodoba...
Nie kolega (na razie) zostawi tego bascoma, i spróbuje z C (tak tak wiem, że
to masakra).
Ale - problem jest taki, że wcześniej czy później okazę się, że bascom to
jednak nie to.
A przejście z bascoma na C jest znacznie trudniejsze niż w drugą stronę -
wiem coś o tym niestety...
Żeby było jasne - sam korzystam z bascoma i to często - bo jak trzeba coś
prostego zrobić szybko to się bardzo ładnie nadaje - i nie mam oporów
moralnych
Ale - jak musiałem się zabrać za C, z w końcu okazuje się że trzeba - to
wtedy jest pot, krew i łzy.
To jest jednak prawda, że basicopodobne języki jakoś niestety chyba
utrudniają potem przejście na inne - nie wiem czemu, ale tak to oceniam po
sobie.
Oczywiście, na pewno walka z jakimś AVRGCC czy czymś takim zajmie więcej
czasu - ale ogólnie to się ogromnie opłaci.
Lelek@
Guest
Tue Feb 08, 2011 8:10 pm
"sundayman" <sundayman@poczta.onet.pl> wrote in message
news:iirtvb$7o5$1@news.onet.pl...
Quote:
To ja powiem coś, co się koledze bardzo nie spodoba... :)
Oczywiście, na pewno walka z jakimś AVRGCC czy czymś takim zajmie więcej
czasu - ale ogólnie to się ogromnie opłaci.
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język. Zamiast
ldi r16,0 pisze się i =0; Do rejestrów pisze i czyta się przez "=".
Nie rozumien skąd ta trudność.
Znając C opanowałem javę na androida w tydzień w takim stopniu, że
przeniosłem projekt z visuala do javy. Java jest jak C tylko głupsza.
Baskomem to zrobisz sobie krzywdę
janusz_kk1
Guest
Tue Feb 08, 2011 9:27 pm
Dnia 08-02-2011 o 20:10:26 Lelek@ <nn@nndn.pl> napisał(a):
Quote:
"sundayman" <sundayman@poczta.onet.pl> wrote in message
news:iirtvb$7o5$1@news.onet.pl...
To ja powiem coś, co się koledze bardzo nie spodoba... :)
Oczywiście, na pewno walka z jakimś AVRGCC czy czymś takim zajmie
więcej czasu - ale ogólnie to się ogromnie opłaci..
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Jasneeee

Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
N o ile ci to zajęło?, wg mnie wcale nie jest prosty, jak się samemu pisze
to jest prosto, jak sie analizuje czyjeś programy to juz tak prosto nie
jest.
--
Pozdr
JanuszK
Michoo
Guest
Tue Feb 08, 2011 9:53 pm
W dniu 08.02.2011 21:27, janusz_kk1 pisze:
Quote:
Dnia 08-02-2011 o 20:10:26 Lelek@ <nn@nndn.pl> napisał(a):
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Jasneeee
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
Co robi widać na pierwszy rzut oka. Kolejność jest nieistotna i może się
zmienić.
Quote:
N o ile ci to zajęło?
Z 1.5 .. 2 sec?
Chociaż dłuższa analiza pozwala się oczywiście zastanawiać czy *2 nie
powinno być dla konsekwencji zapisane jako przesunięcie binarne i czy |
nie byłoby lepsze od +. Albo czy w ogóle rzutowanie na uint16_t nie
miałoby sensu.
--
Pozdrawiam
Michoo
janusz_kk1
Guest
Tue Feb 08, 2011 10:25 pm
Dnia 08-02-2011 o 21:53:16 Michoo <michoo_news@vp.pl> napisał(a):
Quote:
W dniu 08.02.2011 21:27, janusz_kk1 pisze:
Dnia 08-02-2011 o 20:10:26 Lelek@ <nn@nndn.pl> napisał(a):
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Jasneeee
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
Co robi widać na pierwszy rzut oka. Kolejność jest nieistotna i może się
zmienić.
N o ile ci to zajęło?
Z 1.5 .. 2 sec?
No to co najmniej o 1,5sek za długo, pomyśl teraz że takich linijek masz
wiecej, tracisz dużo czasu na analizę, przy prostym kodzie analizujesz
kilkakrotnie szybciej.
Quote:
Chociaż dłuższa analiza pozwala się oczywiście zastanawiać czy *2 nie
powinno być dla konsekwencji zapisane jako przesunięcie binarne
Kompilator i tak to zoptymalizuje.
--
Pozdr
JanuszK
Artur A.
Guest
Tue Feb 08, 2011 10:37 pm
W dniu 2011-02-08 20:10, Lelek@ pisze:
Quote:
"sundayman" <sundayman@poczta.onet.pl> wrote in message
news:iirtvb$7o5$1@news.onet.pl...
To ja powiem coś, co się koledze bardzo nie spodoba... :)
Oczywiście, na pewno walka z jakimś AVRGCC czy czymś takim zajmie
więcej czasu - ale ogólnie to się ogromnie opłaci.
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Zamiast ldi r16,0 pisze się i =0; Do rejestrów pisze i czyta się przez "=".
Nie rozumien skąd ta trudność.
C to świetny język, ale dla początkujących ma jedną irytującą wadę.
Łatwo jest w nim popełnić błędy nie wychwytywane przez kompilator, np
"=" za if, albo niechciany średnik za for. Mam wrażenie, że inne języki
tak nie mają.
Quote:
Znając C opanowałem javę na androida w tydzień w takim stopniu, że
przeniosłem projekt z visuala do javy. Java jest jak C tylko głupsza.
Jak dla mnie jest przepaść między obiektowością Javy a strukturalnym C
czasami lekko schodzącym do asemblera.
Quote:
Baskomem to zrobisz sobie krzywdę
Hehe, mi kiedyś krzywdę zrobiło numerowanie linii oraz goto w Basicu.
Przejście do procedur w Pascalu troszkę bolało.
Adam, moim zdaniem nauka programowania AVR w C jest bardziej
przyszłościowa, ale na początek może Bascom też będzie ok (osobiście nie
używałem), czasami szybsze uzyskanie efektu zachęca do dalszej zabawy i
chroni przed poddaniem się. Zależy, czy masz pod ręką kogoś, kto Ci może
pomóc.
Pozdrawiam!
Michoo
Guest
Tue Feb 08, 2011 10:41 pm
W dniu 08.02.2011 22:25, janusz_kk1 pisze:
Quote:
Dnia 08-02-2011 o 21:53:16 Michoo <michoo_news@vp.pl> napisał(a):
W dniu 08.02.2011 21:27, janusz_kk1 pisze:
Dnia 08-02-2011 o 20:10:26 Lelek@ <nn@nndn.pl> napisał(a):
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Jasneeee
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
Co robi widać na pierwszy rzut oka. Kolejność jest nieistotna i może
się zmienić.
N o ile ci to zajęło?
Z 1.5 .. 2 sec?
No to co najmniej o 1,5sek za długo, pomyśl teraz że takich linijek masz
wiecej, tracisz dużo czasu na analizę, przy prostym kodzie analizujesz
kilkakrotnie szybciej.
Składanie wartości binarnej leżącej w dziwnym miejscu nie jest "proste"
samo w sobie.
Przy "prostym" kodzie zapisanym równie nieintuicyjnie byłoby gorzej -
trzeba by przeanalizować kilka linii, pojąć ich sens a potem pojąć sens
całości. No chyba, że dasz przykład takiego "prostego" kodu?
Quote:
Chociaż dłuższa analiza pozwala się oczywiście zastanawiać czy *2 nie
powinno być dla konsekwencji zapisane jako przesunięcie binarne
Kompilator i tak to zoptymalizuje.
Ale tu chodzi o zapis a nie o optymalizację.
Kod zajmuje się złożeniem wartości z bitów leżących "na przełomie"
bajtu. Operuje na poziomie bitów więc | jest znacznie bardziej
intuicyjny niż +, który sugeruje operację matematyczną a nie logiczną.
Tak samo wartość ma być _przesunięta o jeden bit_ względem początkowej a
nie _dwa razy większa_.
c_size_mul = ((MMC_Data_16[9] << 1) & 0b110) | (MMC_Data_16[10] >> 7) &
0b001);
--
Pozdrawiam
Michoo
Adam Dybkowski
Guest
Tue Feb 08, 2011 10:44 pm
W dniu 2011-02-08 09:50 Adam napisał(a):
Quote:
Chciałbym rozpocząć naukę programowania AVRów, na początek w Bascomie.
Zła decyzja. Zacznij od C (avr-gcc).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Tue Feb 08, 2011 10:50 pm
W dniu 2011-02-08 21:27 janusz_kk1 napisał(a):
Quote:
Oczywiście, na pewno walka z jakimś AVRGCC czy czymś takim zajmie
więcej czasu - ale ogólnie to się ogromnie opłaci.
Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
Jasneeee
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
Hmmm, a cóż w tej konstrukcji różni się od zapisu w BASICu (BASCOMie)?
Chodzi o magiczne operatory & oraz >> czy może o dostęp do dziewiątego i
dziesiątego elementu tablicy MMC_Data_16 (bo zapis z nawiasami
kwadratowymi jest powszechny, nawet w BASICu)? W języku Pascal używanym
często w szkołach do nauki podstaw programowania zapis byłby tylko
bardziej rozwlekły ale nie odbiegał znacząco od wersji C:
c_size_mul := (MMC_Data_16[9] and 3) * 2 + ((MMC_Data_16[10] shr 7) and 1);
Nie widzę znaczącej różnicy i to samo zapisane w BASCOMie będzie też
prawie identyczne. W jaki lepszy sposób BASICiem wyciągniesz dwa
najmłodsze bity z jednego bajtu tablicy oraz najstarszy bit kolejnego
bajtu i odpowiednio je poskładasz?
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Lelek@
Guest
Tue Feb 08, 2011 11:52 pm
"janusz_kk1" <janusz_kk@o2.pl> wrote in message
news:op.vqlpstzr1cvm6g@jk-laptop...
Dnia 08-02-2011 o 20:10:26 Lelek@ <nn@nndn.pl> napisał(a):
Quote:
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
Ale to jest bardzo intuicyjny zapis. Zaczyna się od środka nawiasów. Jeżeli
wiesz czego chcesz to to właśnie to zapisałeś.
Lelek@
Guest
Wed Feb 09, 2011 12:01 am
"Artur A." <noreply@mail.com> wrote in message
news:iisd2r$6as$1@news.onet.pl...
Quote:
Hehe, mi kiedyś krzywdę zrobiło numerowanie linii oraz goto w Basicu.
Przejście do procedur w Pascalu troszkę bolało.
Adam, moim zdaniem nauka programowania AVR w C jest bardziej
przyszłościowa, ale na początek może Bascom też będzie ok (osobiście nie
Ja bym radził zacząć pisać w assemblerze żeby zrozumieć później jak działają
wskaźniki

Chociażby po to

I w ogóle co to jest ta pamięć i jakie są
jej rodzaję i czemu raz trzeba do Z ładować adres o połowę mniejszy niż do
ramu
neuron
Guest
Wed Feb 09, 2011 12:19 am
Quote:
Jasneeee
Tak na szybko ci znalazłem:
c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
0x01);
powiesz mi zgłowy co się w jakiej kolejności robi?
Czytanie cudzego kodu zawsze jest trudne. Gorzej jak sie nie daje odczytac
wlasnego.
Jako ze mam juz na karku ponad 4 dychy a zaczynalem programowac w asemblerze
na starego poczciwego z80 ( i nie mialem zadnych problemow ze sterownikiem
do programatora - mial on klawiature 16tkowa i trzeba bylo przepisac caly
kod bajt po bajcie, zmiana w programie i 2kb znowu bajt po bajcie - to
dopiero uczylo myslenia)
to pozwole sobie zwrocic uwage na kilka spraw natury ogolnej.
Komentarze - do takiego kodu jak powyzszy przydaje sie komentarz - dzis
pamietasz - jutro nie. Mlodym wilkom komentarze wydaja sie zbedne ale radze
wyrabiac sobie ten nawyk - bo to ma byc nawyk
- kazdy kod ma byc skomentowany. Po pierwsze przyda sie na
starosc(doslownie), po wtore przyda sie gdy przyjdzie pracowac zespolowo.
Refaktoring. Tak to juz jest ze gdy walczy sie z danym zagadnieniem to sie
czesto przerabia kod na wariata, dodaje jakies zmienne, proboje tak, a moze
tak, a jak jeszce nie chce dzialc....
Gdy wreszcie kod dziala tak jak tego oczekiwalismy wyglada jak pobojowisko.
Refaktoring to w uproszczeniu przepisanie kodu tak aby robil to samo ale aby
byl optymalny, czytelny i gotowy do zastoswania w przyszlosci - wiem, wiem
,nie chce sie jak o 4 nad ranem wkoncu uzyskalo sie efekt
ale warto zrobic to natychmiast a nie dopiero jak zabraknie ROMu ;)
Co do odwiecznej dyskusji o wyzszosci jednych swiat nad drugimi - c,pascal,
basic - jeden .... - albo sie umie myslec jak maszyna albo nie. Kazdy kto
chce nazwac sie programista powinien napisac choc jeden
program w assemblerze. Jeden starczy - kiedys programowanie w assemblerze
bylo trendy - dzis jest marnotrastwem czasu ale .... to uczy jak dziala
procesor i uczy jak dziala kompilator - nie jest istotne jak cos zapiszemy w
c lub bascomie - istotne jest czy aby na pewno kumamy co z tym zrobi
procesor.
W przypadku kolegi Adama bascom ma jedna zalete i jedna wade ktora jednak
tez jest zaleta i radze z nich skorzytac. Juz po 2-3 tygodniach mozna
zbudowac konkretne, dzilajace urzadzenia i to calkiem zlozone. To daje
motywacje do dalszej zabawy - to zaleta. Wada jest to ze bardzo ale to
bardzo ciezko uzyskac jakakolwiek wspolbieznosc - jesli nie chcemy aby nam
wyswietlacz nie zdychal podczas odbioru RC5 to trzeba sie napocic. Ale to
zaleta bo po pierwsze zmusza do myslenia a po wtore zmusza do zmiany
narzedzi na cos bardziej elastycznego ( c nie jest lepsze od bascoma - jest
ELASTYCZNIEJSZE) .Do swiadomej zmiany. I to jest zaleta tej wady

))
wojtek
www.neuron.com.pl
CMMS Maszyna
Golem OEE
Hall2007
Goto page 1, 2, 3 Next