HomeMade

Pełna wersja: Bascom AVR
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3 4 5
(27-08-2010 20:35)Klim_on napisał(a): [ -> ]... informuję, że opublikowałem już dziesiątki praktycznych programów, którymi dzielę się bez ograniczeń ...
...Rysiek, cieszę się, że wybrałeś Bascom, trochę lekceważony przez innych programistów...

Kolego Henryku, ciekawa strona z wieloma przydatnymi konstrukcjami, prawdziwa kopalnia przykładów w Bascomie. Zapewne wielu Kolegów piszących w Bascomie będzie często ją odwiedzać, szczególnie podczas nauki tego języka i doceni Twoją otwartość w publikowaniu projektów.

Projekty otwarte mają jednak tą przewagę nad autorskimi, że są dziełem kilku osób, dając możliwość łączenia wiedzy, doświadczenia, narzędzi, możliwości uruchamiania i testowania co powinno pozytywnie wpływać na ostateczny poziom projektu.

Nie programuję w Bascomie nie dlatego, że mam o nim złe zdanie. Całe zawodowe życie piszę soft w assemberze i tak już zostanie, inni Koledzy biegłe posługują się C i nie chcą słyszeć o innych językach. Tak z ciekawości zapoznałem się z możliwościami tego translatora oraz generowanym kodem i wygląda to całkiem dobrze. Najbardziej podoba mi się to, że pisząc program w Bascomie mogę prawie w całości napisać go w assemblerze. To pokazuje, że czasem ważniejszy od samego języka programowania jest sam styl i umiejętności programisty. Oczywiście w rozbudowanych aplikacjach nie wytrzyma konkurencji z C a w szybkich systemach czasu rzeczywistego z assemlerem ale do naszych celów jest całkiem niezły.
Mój kolega programista mawia tak:
"oprogramowanie do pozytywki piszę w Bascomie,
grafikę na kolorowy wyświetlacz C
a sterownik do nowego Pershinga w assemblerze"


Ja muszę zacząć od Bascoma Blush
(28-08-2010 22:08)dipol napisał(a): [ -> ]Ja muszę zacząć od Bascoma Blush

Henryku musisz wiedzieć ze to jest niesamowita frajda Smile
Wydaje mi się że w moim helpie do BASCOMa jest napisane, że każda zmienna typu STRING posiada na końcu znak "0". Dlatego trzeba deklarować większą o jeden długość. Czyli jeśli zakładamy
Kod:
'znamiennik max 6 znaków jesli chcesz wiekszy zmien rozmiar zmiennej Inputtekst’
to zmienna Inputtekst powinna być zadeklarowana tak:
Kod:
Dim Inputtekst As String * 7
a nie tak
Kod:
Dim Inputtekst As String * 6
proszę sprawdźcie w swoich helpach.
Po deklaracji zmiennej w Bascomie:

Dim Nazwa As String * 6

Powyższy deklaracja spowoduje utworzenie ciągu który może pomieścić maksymalnie 6 znaków. Zmienna ta zajmie w pamięci jednak 7 bajtów, gdyż na końcu ciągu kompilator zawsze umieszcza znak końca (0x00). Jeśli zmienna ma mieć maksymalnie 6 znaków to tyle delarujemy.
Andrzeju masz rację co do zajmowanego miejsca takiego stringu
Zajmie on 7 bajtów natomiast my deklarujemy tylko zmienną o długości 6 bajtów ten ostatni bajt (znak końca) jest dodawany poza naszą kontrolą i nie mamy na to wpływu.

W dalszej części Helpa jest to nieco dokładniej opisane.

Cytat:Dim S As String * 5

spowoduje utworzenie ciągu który może pomieścić maksymalnie 5 znaków. Zmienna ta zajmie dokładnie 6 bajtów, gdyż na końcu ciągu jest zapamiętywany zawsze znak końca (znak o kodzie zero).
Dzięki.
Czasami człowiek czymś się zasugeruje.
(27-08-2010 20:35)Klim_on napisał(a): [ -> ]korzystam z zaproszenia i informuję, że opublikowałem już dziesiątki praktycznych programów, którymi dzielę się bez ograniczeń.
Pokazuję też kompilator, opisuję jak postępować z fusebitami, pokazuję fotki i schematy.
Zapraszam na moją stronę: http://www.henwyd.republika.pl
SP3JCG

Zajrzałem do Ciebie na stronę i chcę pogratulować ciężkiej pracy jaką włożyłeś w jej przygotowanie na podstawie równie ciężkiej pracy związanej z zaprojektowaniem i wykonaniem wcześniej urządzeń.
Zgadzam się również z Tobą, że Bascom ma spore możliwości. Rzekoma nadmiarowość kodu Bascom-u jest sporą przesadą. Po prostu gotowe procedury zostały przez twórców Bascom-u napisane głównie w asemblerze oraz w c zapewne z optymalizacją kodu. Pisanie kodu realizującego tą samą funckję przez mniej wprawnego programistę w asemblerze może dać tylko większy kod programu niż ma Bascom :-(. Zgadzam się jedynie, że procedury związane z przerwaniami oraz czasu rzeczywistego da się lepiej napisać w języku niższego poziomu. W każdym innym przypadku kod Bascom-u jest czytelniejszy, bardziej zwarty i pisze się go po prostu szybciej. Dla zwolenników pisania wszystkiego w asemblerze i mających pojęcie na temat języka java proponuję zastanowić się jak wygląda najprostsza klasa obsługująca grafikę i jak napisać taki kod bez interface IDE, wspomagania z Internetu i opakowania tabletek na ból głowy ;-)
L.J.
A propo przerywań i obsługi w czasie rzeczywistym w Bascomie dużo zależy od sposobu pisania polecam serię artykułów Pana Piotra Góreckiego z EDW o Bascomie a w szczególności o częstościomierzach i pomiarze czasu, pokazał tam parę ciekawych rzeczy, wszystko zależy od sposobu pisania, o ile mnie nie myli można to ściągnąć też ze strony EDW. Te same informacje można znaleźć również w książce Mikrokontrolery dla początkujących.
(31-08-2010 12:52)sq4avs napisał(a): [ -> ].... Pana Piotra Góreckiego z EDW o Bascomie a w szczególności o częstościomierzach i pomiarze czasu...

Wykonałem częstościomierz wg tych zaleceń. Na 8051 spokojnie uzyskałem dokładny pomiar dla 6 cyfr, a na AVR-ach pewnie jeszcze z jedną lub dwie cyfry udało by się więcej.
Stron: 1 2 3 4 5
Przekierowanie