Úvod do jazyka "BASCOM-AVR"
Moderátori: psichac, Moderátori
- ustredna
- Stály člen
- Príspevky: 475
- Dátum registrácie: 19 Okt 2010, 00:00
- Bydlisko: Nitra
- Vek: 44
- Kontaktovať používateľa:
Úvod do jazyka "BASCOM-AVR"
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
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
- Peťus
- Ultimate člen
- Príspevky: 3940
- Dátum registrácie: 07 Mar 2009, 00:00
- Bydlisko: Praha
- Vek: 34
- Kontaktovať používateľa:
Přesně TAZi , nebylo by lepší napsat článek???
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)
- ustredna
- Stály člen
- Príspevky: 475
- Dátum registrácie: 19 Okt 2010, 00:00
- Bydlisko: Nitra
- Vek: 44
- Kontaktovať používateľa:
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.
//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
- Napster050
- Ultimate člen
- Príspevky: 3048
- Dátum registrácie: 01 Jan 2007, 00:00
- Bydlisko: Turčianske Teplice
- Vek: 34
- Kontaktovať používateľa:
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 ?
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
http://www.vintageaudio.tk/
môj YouTube kanál
- Napster050
- Ultimate člen
- Príspevky: 3048
- Dátum registrácie: 01 Jan 2007, 00:00
- Bydlisko: Turčianske Teplice
- Vek: 34
- Kontaktovať používateľa:
prečo by to malo zapadnuť ? zapadne to medzi tymi člankami...TAZ napísal:ústředno, ve foru je to nesmysl, piš to jako článek, tady to zapadne...
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
http://www.vintageaudio.tk/
môj YouTube kanál
- zdeno33
- 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
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.
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.
určite se najde blbec, který to dokáže.
Re: Úvod do jazyka
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.
Dufam ze to bude pokracovat spravnym smerom, uz teraz sa tesim.
0
Nemusím vedeť váhu elektrónu ak chcem zaspájkovať tranzistor.
- zdeno33
- 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
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.
---
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.
určite se najde blbec, který to dokáže.