Úvod do jazyka "BASCOM-AVR"

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Úvod do jazyka "BASCOM-AVR"

Príspevok od používateľa ustredna » 08 Feb 2011, 10:35

PROGRAMOVANIE V BASCOM-AVR


Bascom-Avr je programovacie prostredie, v ktorom môžeme:

1. Napísať program pro mikroprocesory Atmel AVR
2. Napísaný program otestovať v simulátore
3. Preložiť program do strojového kódu mikroprocesoru.
4. Komunikovať s procesorom cez vstavaný terminál.



Hlavnou výhodou Bascomu je veľké množstvo vstavaných funkcií, ktoré neobyčajne zjednodušujú napr. prácu s perifériami ako je displej, čítače, AD prevodníky, i2c komunikácia, atď,....

Ten, kdo si napr. niekedy v asembleru sám písal ovládánie riadkového displeja, iste potvrdí, že to nieje úplne jednoduchá a zábavná činnosť.

Výhodou je i to, že jazyk je jednoduchý a rada ľudí ho pozná, napr. zo školy.

Zdrojový kód je na rozdiel od assembleru krátky a zrozumiteľný.
Jazyk vykazuje i určitú blbovzdornosť, nepovolí napríklad prekročenie medze u polí (na rozdiel od C).

Preto je podľa môjho názoru vhodný pro začínajúcich záujemcov o programovánie mikroprocesorov Atmel.
Kto vydrží, môže časom prejsť na iný jazyk.

Nevýhodou Bascomu je väčší vyprodukovaný kód, to ale prestáva byť dôležité, pretože pamäti mikroprocesorov sú pri rovnakej cene čím daľej väčšie.

Daľšou nevýhodou je, že tento dlhší kód je samozrejme o niečo pomalší. Teda si môžeme pomôcť tím, že krytické úseky kódu napíšeme v asembleru.

Z vlastnej skúsenosti viem, že najlepšie se učí na príkladoch. Preto budem zverejnovať v sekcii "PRÍKLADY ZDROJOVÝCH KÓDOV" množstvo zrojových programov a konštrukcií.

Demoverzia Bascom-Avr je voľne dostupná na Internete.
Má omedzenie výsledného kódu na 4096 bajtov.


Aktuálna Demo verzia na stiahnutie:
http://mcselec.com/index.php?option=com ... &Itemid=54
0

Používateľov profilový obrázok
TAZ
Power user
Power user
Príspevky: 939
Dátum registrácie: 12 Feb 2008, 00:00
Bydlisko: Ostrava
Vek: 55
Kontaktovať používateľa:

Príspevok od používateľa TAZ » 08 Feb 2011, 10:57

a význam to má jaký, že to tu píšeš?
0
Elektrika je jak ženská, šáhneš kam nemáš a máš ji....

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Príspevok od používateľa Peťus » 08 Feb 2011, 11:00

Přesně TAZi , nebylo by lepší napsat článek???
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Príspevok od používateľa ustredna » 08 Feb 2011, 11:03

Bude tu zverejneny obsiahly popis jazyka od prikazov cez zdrojove kody, ..., je to po dohode s adminmi tohto webu. nakolko dost vela clenov by malo zaujem naucit sa pisat programy pre AVR MCU.

//Automatické spojenie príspevkov. Pridané po 2 minútach:

budu tu zavedene temy ako zdrojove kody, prikaźy, popis jazyka a kazdy bude moct diskutovat k danej teme. + bude mozne rozoberat problemy a riesenia clenov na tomto fore.
0

Používateľov profilový obrázok
Napster050
Ultimate člen
Ultimate člen
Príspevky: 3048
Dátum registrácie: 01 Jan 2007, 00:00
Bydlisko: Turčianske Teplice
Vek: 33
Kontaktovať používateľa:

Príspevok od používateľa Napster050 » 08 Feb 2011, 20:34

stači to predsa označiť ako doležite a každy to tu hned najde... kto by to hladal medzi tolkymi člankami čo su na hlavnom webe....

chvalim za napad ;)
Ja by som uvital aj niečo o Proton IDE, ale s tym tu asi nik nerobi, čo ?
0
Navštívte nový web o audiotechnike a podeľte sa s nami !
http://www.vintageaudio.tk/
môj YouTube kanál

Používateľov profilový obrázok
TAZ
Power user
Power user
Príspevky: 939
Dátum registrácie: 12 Feb 2008, 00:00
Bydlisko: Ostrava
Vek: 55
Kontaktovať používateľa:

Príspevok od používateľa TAZ » 09 Feb 2011, 08:03

ústředno, ve foru je to nesmysl, piš to jako článek, tady to zapadne...
0
Elektrika je jak ženská, šáhneš kam nemáš a máš ji....

lacog
Stály člen
Stály člen
Príspevky: 302
Dátum registrácie: 27 Mar 2007, 00:00

Príspevok od používateľa lacog » 09 Feb 2011, 08:45

V Bascome som už niečo robil, celkom fajn hlavne pre začiatočníkov čo niekedy mali niečo s Basicom. Takže sa teším. Fakt radšej ako články a diskusia pod článkom.
0

Používateľov profilový obrázok
Buldozer
Pokročilý člen
Pokročilý člen
Príspevky: 794
Dátum registrácie: 28 Sep 2010, 00:00
Bydlisko: Košice
Vek: 29

Príspevok od používateľa Buldozer » 09 Feb 2011, 08:51

Moze sa tato tema oznacit ako dolezita a bude stale navrchu.
0

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Príspevok od používateľa ustredna » 09 Feb 2011, 09:20

ok, poprepisujem to do clankov a forum nechsame na volnu diskusiu a rady pri pisani SW
0

Používateľov profilový obrázok
Masopust
Stály člen
Stály člen
Príspevky: 287
Dátum registrácie: 28 Sep 2009, 00:00
Vek: 31

Príspevok od používateľa Masopust » 09 Feb 2011, 09:57

Pár otázek, podporuje bascom dynamický alokování paměti a práci s interní flash pamětí ?
0

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Príspevok od používateľa ustredna » 09 Feb 2011, 10:22

Co sa tyka dynamickej alokacie, ti neporadim, ale s internou flash sa pracovat da. Na tom istom principe pracuje aj napisany bootloader v bascome.

data ktore mu idu na seriovom porte zapisuse na urcene adresy vo fleske.
0

Používateľov profilový obrázok
Masopust
Stály člen
Stály člen
Príspevky: 287
Dátum registrácie: 28 Sep 2009, 00:00
Vek: 31

Príspevok od používateľa Masopust » 09 Feb 2011, 10:24

vím co je bootloader, už jich mám par vlastních za sebou ;) když budeš mít chvilku mrkni na tu alokaci, díky
0

Používateľov profilový obrázok
Napster050
Ultimate člen
Ultimate člen
Príspevky: 3048
Dátum registrácie: 01 Jan 2007, 00:00
Bydlisko: Turčianske Teplice
Vek: 33
Kontaktovať používateľa:

Príspevok od používateľa Napster050 » 09 Feb 2011, 22:25

TAZ napísal:ústředno, ve foru je to nesmysl, piš to jako článek, tady to zapadne...
prečo by to malo zapadnuť ? zapadne to medzi tymi člankami...
ked sa to tu označi ako doležite tak to bude predsa každemu na očiach...
0
Navštívte nový web o audiotechnike a podeľte sa s nami !
http://www.vintageaudio.tk/
môj YouTube kanál

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Príspevok od používateľa ustredna » 09 Feb 2011, 22:40

dohodnite sa kam to mam dat, nech je v tom jasno.
0

lacog
Stály člen
Stály člen
Príspevky: 302
Dátum registrácie: 27 Mar 2007, 00:00

Príspevok od používateľa lacog » 01 Mar 2011, 12:45

ako to vyzerá s tým článkom?
0

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Príspevok od používateľa ustredna » 01 Mar 2011, 13:22

davam to dokopy. momentalne mam pomenej casu ale snazim sa.
0

Používateľov profilový obrázok
zdeno33
Okoloidúci
Okoloidúci
Príspevky: 32
Dátum registrácie: 05 Apr 2012, 17:57
Bydlisko: Varin
Vek: 68
Kontaktovať používateľa:

Re: Úvod do jazyka

Príspevok od používateľa zdeno33 » 05 Apr 2012, 19:01

aj ja vetsinou programujem v BascomBasic. Je to jednoduche, editovatelne a rychle.
Jinak famy o pomalosti a rozsahlosti kodu jsou pohadky pro male deti. Proste musite pocitat s tim, ze vsechny vyssi jazyky jsou proste od prirody buclatejsi a pomalejsi. Je to ale vyvazene jejich jednoduchosti a hlavne knihovnama. To se proste v ASM neda, pokud neni clovek naprosty pedant a nezalohuje a neokomentuje si kazdou blbost, kterou kdy vymysli.
Pokud se programuje v Bascome tak jako v ASM, tak to je spatne. Musite se naucit myslet po bascomacky a vyuzivat vsechny jeho vyhody a vychytavky. Dokonce bych to otocil, kdo pozna dobre, jak to Bascom preklada, tak to dokaze "zneuzit" ve svuj prospech.
---
Pokud bude mit ustredna zajem, mohl bych mu s tim pomoci.
0
nikdy neříkej, že to nejde,
určite se najde blbec, který to dokáže.

Používateľov profilový obrázok
ustredna
Stály člen
Stály člen
Príspevky: 475
Dátum registrácie: 19 Okt 2010, 00:00
Bydlisko: Nitra
Vek: 43
Kontaktovať používateľa:

Re: Úvod do jazyka

Príspevok od používateľa ustredna » 05 Apr 2012, 21:29

budem vdacny.
0

smotek7
Pokročilý člen
Pokročilý člen
Príspevky: 528
Dátum registrácie: 08 Aug 2011, 00:00
Bydlisko: PN
Vek: 44

Re: Úvod do jazyka

Príspevok od používateľa smotek7 » 05 Apr 2012, 21:41

No ja uz cakam pol roka, ze sa tato tema pohne. Dockal som sa.
Dufam ze to bude pokracovat spravnym smerom, uz teraz sa tesim.
0
Nemusím vedeť váhu elektrónu ak chcem zaspájkovať tranzistor.

Používateľov profilový obrázok
zdeno33
Okoloidúci
Okoloidúci
Príspevky: 32
Dátum registrácie: 05 Apr 2012, 17:57
Bydlisko: Varin
Vek: 68
Kontaktovať používateľa:

Re: Úvod do jazyka

Príspevok od používateľa zdeno33 » 07 Apr 2012, 17:57

pokud muzu neco napisat, tak zkusim.
---
Dynamicke pridelovani pameti,
ano jde to, ale jen pres volani funkci nebo procedur teda DECLARE SUB / DECLARE FUNCTION . Tak se promenne alokuji v "$framesize" a jsou teda uzamknute pro konkretni funkci nebo proceduru. Je tu problem v tom, ze se nesmi pouzit stejna jmena pro klasicke a lokalni promenne. Ja to pouzivam tehdy, kdyz potrebuji velmi specialni podprogram, ktery je naprosto nezavisly na okolnim prostredi. Proto v nem pouzivam velmi nezvykle promenne (treba "moje_nejmensi_vyplata_za mesic_maj", aby se to nemichalo s hlavnim programem.
Jinak je to dost narocne na pamet programu, proto se tomu vyhybam a pouzivam klasicke volani GOSUB/RCALL. Treba pro At2313 je to vrazedne, protoze jedna funkce dokaze "sezrat" celou FLASH.
---
Flash pameti jsou vlastne dve, teda EEPROM nebo programova pamet. Do EEPROM se da jit normalne, do FLASH se da jit pres prikaz SPM, ale to jsem zatim nepotreboval a tak jsem to nezkousel. Myslim, ze to neni jednoduche, treba to strankovat.
---
On vlastne Bascom neni az tak jednoduchy, jako vsechno, musi se to umet. Vsechno je to zalozene na tom, vedet, jak to pracuje a vyuzit to ve svuj prospech. Velmi jednoducha klasika je zdruzovani prikazu. I kdyz Bascom zakazuje zarazovat vic prikazu najednou, i tak se to da obejit. Musite si uvedomit, ze vlastne kazdy prikaz zacina jakoby na "zelene louce", tim myslim, ze program si musi data odnekud vytahnout, zpracovat a zase ulozit.
treba
Dim pole As String *40
Pole = "ted je " + hodina + " hodin " + minuta + " minut"
nebo
Dim Vyber As Byte
vyber = get(kbd) AND &B0000_1111
teda vybrat hodnotu klavesnice a hned ji vymaskovat podle potreby
Timto slozenim prikazu usetrite jedno ukladani a jedno vyberani promenne Vyber.
0
nikdy neříkej, že to nejde,
určite se najde blbec, který to dokáže.

Napísať odpoveď