Úvod do jazyka "BASCOM-AVR"
Moderátori: psichac, Moderátori
- 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
potreba invertovat bit v indexovane promenne je dost spatne
neexistuje zapis
pole(1) = NOT pole(1).4
dela se to tak, ze se to prevede na normalni promennou a ta se zapise zpatky
cislo = pole(1)
pole(1) = not cislo.4
spravny zapis jak usetrit spoustu casu a progr, pameti je
pole(1) = pole(1) xor &b0001_0000
Je proste nutne se prizpusobit Bascomu, naopak to jde spatne.
neexistuje zapis
pole(1) = NOT pole(1).4
dela se to tak, ze se to prevede na normalni promennou a ta se zapise zpatky
cislo = pole(1)
pole(1) = not cislo.4
spravny zapis jak usetrit spoustu casu a progr, pameti je
pole(1) = pole(1) xor &b0001_0000
Je proste nutne se prizpusobit Bascomu, naopak to jde spatne.
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.
-
- Pokročilý člen
- Príspevky: 626
- Dátum registrácie: 05 Nov 2009, 00:00
- Bydlisko: Bratislavský kraj
Re: Úvod do jazyka
Nemohlo by sa začať s týmto programovacím jazykom od začiadku ? Mne stále nie sú jasné nejaké základy ako napríklad aký je rozdiel medzi funkciou a procedúrou a kedy ich využiť ? Nie je procedúra to isté ako GOSUB - RETURN ?
a ďalej by som mohol pokračovať:
- prerušenia preťečením buffera - mám problém aj s výpočtom za aký čas príde k preťečeniu
- PWM
- prevodník A/D
atď.
a ďalej by som mohol pokračovať:
- prerušenia preťečením buffera - mám problém aj s výpočtom za aký čas príde k preťečeniu
- PWM
- prevodník A/D
atď.
0
- 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
ber to tak, ze pecene holuby nelitaji same do ust ani tady.
---
Proste je nutne se posadit nad Bascom a zkouset a zkouset. K tomu si pribrat nejaky datasheet a zkusit to na nej napasovat. Je to beh na dlouhe trati a ja se to ucil asi dva roky a nemuzu napisat, ze umim vsechno. A to mam zaklady od x51 procesoru, ktery ovladam na profesionalni urovni a delam na teto platforme stale.
---
-BUFFER - jaky buffer?
to je strasne siroky pojem a ja si pod tim predstavuji spoustu veci. Od citacu az po zasobnik USARTu. Buffer se da i vytvorit, muze byt kruhovy, sekvencni, FIFO, LIFO, atd.
-PWM
PWM je sirkova modulace signalu, je to vlastne prevodnik digital/ analog. To znamena, ze vstupu digitalu, odpovida napeti na vystupu, respektive proud. To podle druhu vystupniho zarizeni. Bascom podporuje rezim PWM 8,9,10 , ale daji se nakonfigurovat vsechny rezimy, pokud si dokazes nastudovat datasheet daneho procesoru.
-A/D prevodnik
Bascom podporuje primo prikazy A/D, takze muzes si zvolit automatiku nebo ho startovat. treba se podivat na CONFIG ADC v HELPu.
---
Napsal bych to asi tak, studovat, studovat a speky se pokusime vychytat.
Jina cesta neni.
Je skoro nemozne v korespondencnim vztahu naucit neco, nekoho, od piky.
---
Proste je nutne se posadit nad Bascom a zkouset a zkouset. K tomu si pribrat nejaky datasheet a zkusit to na nej napasovat. Je to beh na dlouhe trati a ja se to ucil asi dva roky a nemuzu napisat, ze umim vsechno. A to mam zaklady od x51 procesoru, ktery ovladam na profesionalni urovni a delam na teto platforme stale.
---
-BUFFER - jaky buffer?
to je strasne siroky pojem a ja si pod tim predstavuji spoustu veci. Od citacu az po zasobnik USARTu. Buffer se da i vytvorit, muze byt kruhovy, sekvencni, FIFO, LIFO, atd.
-PWM
PWM je sirkova modulace signalu, je to vlastne prevodnik digital/ analog. To znamena, ze vstupu digitalu, odpovida napeti na vystupu, respektive proud. To podle druhu vystupniho zarizeni. Bascom podporuje rezim PWM 8,9,10 , ale daji se nakonfigurovat vsechny rezimy, pokud si dokazes nastudovat datasheet daneho procesoru.
-A/D prevodnik
Bascom podporuje primo prikazy A/D, takze muzes si zvolit automatiku nebo ho startovat. treba se podivat na CONFIG ADC v HELPu.
---
Napsal bych to asi tak, studovat, studovat a speky se pokusime vychytat.
Jina cesta neni.
Je skoro nemozne v korespondencnim vztahu naucit neco, nekoho, od piky.
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.
-
- Pokročilý člen
- Príspevky: 626
- Dátum registrácie: 05 Nov 2009, 00:00
- Bydlisko: Bratislavský kraj
Re: Úvod do jazyka
No to je práve to. Neviem presne aký buffer. Dokumentácia a nejaké knihy sú v angličtine a síce pasívne angličtinu ovládam, ale mám problém niektoré veci pochopiť. Budem mať trochu času, tak sem dám nejaký kód s ktorým mám problém resp. programoval som si cez vianočné sviatky závlahový automat, ale z časových dôvodov som to nedokončil a som v podstate iba na začiatku. Najväčší problém mám s tvorbou menu na GLCD.
Inak kúpil som príručku odtiaľto http://www.techideas.co.nz/ a je pre začiatočníkov vynikajúca. Je síce v angličtine, ale je od základov elektrotechniky ako Ohmov zákon až po programovanie v Bascom. Vrelo odporúčam.
Inak kúpil som príručku odtiaľto http://www.techideas.co.nz/ a je pre začiatočníkov vynikajúca. Je síce v angličtine, ale je od základov elektrotechniky ako Ohmov zákon až po programovanie v Bascom. Vrelo odporúčam.
0
- 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
tady to asi fakt usnulo na veky
---
je usmevne, kdyz nekdo povysuje C+ nad Bascom, je to jako vsechno ostatni, v necem je lepsi C+ a v necem zase Bascom.
---
Jako nejvetsi vyhodu Bascom povazujem prikaz CONFIG. kterym se nastavuji periferie procesoru. Je to prehledne a srozumitelne na prvni pohled, coz u C+ je dost velky problem, protoze musite poznat dokonale systemove registry a jejich bity. Coz u Bascomu plati taky, ale bezne nastavovani je skoro automaticke.
priklad nastaveni TIMER0:
config timer0 = timer(counter,PWM), prescale = 1 (8,64,256,1024), clear timer = 0 (1)
a dalsi parametry, ktere se tykaji PWN nebo capture registru.
priklad nastaveni preruseni od TIMER0:
ON ovf0 cas0 nosave 'timto se vola preruseni od preteceni z 255 na 0 a vola se podprogram cas0 bez ulozeni pracovnych registru
'dal se muze volat preruseni od Oc0a, Oc0b a ICP1 na pinu d.6.
enable ovf0 'povoleni preruseni.
Proste prikaz CONFIG je jednim z nejdulezitejsich a jeho nastudovani usetri spoustu casu a trapeni.
---
config kbd = portb, debounce = 40, delay = 20 'definovani klavesnice 4x4, debounce je cas na zakmity a delay je cas na opakovani prikazu ve smycke
work = getkbd() 'tohle je prikaz na cteni klavesnice 4x4 , je to prikaz ze zakladni knihovny
Takze ovladani klavesnice je opravdu jednoduche.
---
u Bascomu nesmime zapomenout na deklaraci promennych, teda BIT, BYTE, INTEGER, WORD, SINGLE, LONG. DOUBLE, STRING
velka vyhoda BASCOM je v kontrole, zda odpovidaji tridy promennych vypoctu a prirazeni. Zatim mne vzdycky upozornil prekladac, ze tam mam chybu.
Asi by to chtelo fakt clanek a postupne to prochazet od jednodussiho ke slozitejsimu. Byl by zajem ?
AhoJZ
---
je usmevne, kdyz nekdo povysuje C+ nad Bascom, je to jako vsechno ostatni, v necem je lepsi C+ a v necem zase Bascom.
---
Jako nejvetsi vyhodu Bascom povazujem prikaz CONFIG. kterym se nastavuji periferie procesoru. Je to prehledne a srozumitelne na prvni pohled, coz u C+ je dost velky problem, protoze musite poznat dokonale systemove registry a jejich bity. Coz u Bascomu plati taky, ale bezne nastavovani je skoro automaticke.
priklad nastaveni TIMER0:
config timer0 = timer(counter,PWM), prescale = 1 (8,64,256,1024), clear timer = 0 (1)
a dalsi parametry, ktere se tykaji PWN nebo capture registru.
priklad nastaveni preruseni od TIMER0:
ON ovf0 cas0 nosave 'timto se vola preruseni od preteceni z 255 na 0 a vola se podprogram cas0 bez ulozeni pracovnych registru
'dal se muze volat preruseni od Oc0a, Oc0b a ICP1 na pinu d.6.
enable ovf0 'povoleni preruseni.
Proste prikaz CONFIG je jednim z nejdulezitejsich a jeho nastudovani usetri spoustu casu a trapeni.
---
config kbd = portb, debounce = 40, delay = 20 'definovani klavesnice 4x4, debounce je cas na zakmity a delay je cas na opakovani prikazu ve smycke
work = getkbd() 'tohle je prikaz na cteni klavesnice 4x4 , je to prikaz ze zakladni knihovny
Takze ovladani klavesnice je opravdu jednoduche.
---
u Bascomu nesmime zapomenout na deklaraci promennych, teda BIT, BYTE, INTEGER, WORD, SINGLE, LONG. DOUBLE, STRING
velka vyhoda BASCOM je v kontrole, zda odpovidaji tridy promennych vypoctu a prirazeni. Zatim mne vzdycky upozornil prekladac, ze tam mam chybu.
Asi by to chtelo fakt clanek a postupne to prochazet od jednodussiho ke slozitejsimu. Byl by zajem ?
AhoJZ
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
zdeno mna by urcite clanok potesil a myslim ze by sa nasli viaceri.
0
Nemusím vedeť váhu elektrónu ak chcem zaspájkovať tranzistor.
Re: Úvod do jazyka
ustredna:
Tvoje texty o Bascomu jsou doslovně opsány z webu http://www.mp222.wz.cz/.
Bylo by slušné se o tom zmínit, abys nevzbudil mylný dojem že jsi to napsal sám.
Tvoje texty o Bascomu jsou doslovně opsány z webu http://www.mp222.wz.cz/.
Bylo by slušné se o tom zmínit, abys nevzbudil mylný dojem že jsi to napsal sám.
0
- 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
napisal jsem clanek, teda navrh clanku a poslal ho pres "PRIDAT CLANOK" , aby mi ho ohodnotili, ci to ma vubec vyznam. Bohuzel se na mne vykaslali a tak moje snaha konci v haji zelenem. Aspon mohli napisat, ze to je blbe a nech neotravujem.
***
Jarda Kutej je muj dopisovaci kamarad a velmi se mi nelibi, ze se od nej odpisuje a nenapise se zdroj informaci. To by se nemalo stavat.
***
Jarda Kutej je muj dopisovaci kamarad a velmi se mi nelibi, ze se od nej odpisuje a nenapise se zdroj informaci. To by se nemalo stavat.
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.
-
- Pokročilý člen
- Príspevky: 626
- Dátum registrácie: 05 Nov 2009, 00:00
- Bydlisko: Bratislavský kraj
Re: Úvod do jazyka
Vážení, snažím sa programovať v tomto jazyku od 2009 a bohužiaľ som stále niekde na začiatku. Bohužiaľ nemám moc na to čas, tak programujem väčšinou cez víkend alebo sviatky. Dostupné dokumentácie sú väčšinou v angličtine a samozrejme mám problém niektorým veciam pochopiť. Ani dokumentácie, príručky neobsahujú všetko čo Bascom ponúka. Keďže tento jazyk nie je až tak zložitý, tak pre lepšie porozumenie a komunikáciu by som si prial, aby bolo čo najviac slovenských a českých užívateľov na fóre. Bohužiaľ táto sekcia BASCOM je mrtvá a často pýtajúci nedostane reakciu ani za mesiac. Uvažval som vytvoriť nové diskusné fórum zamerané iba na BASCOM. Keďže moje skúsenosti nie sú až na tak vysokej úrovni a taktiež by som nechcel aby diskusné fórum bolo mrtvé, tak určite by sa hodilo niekoľko skúsenejších moderátorov. Čo vy na to ?
0
Re: Úvod do jazyka
Ahoj
Tky se snažim hrát si v Baascomu. Jsem jen amatér a vždy se obracím na kamaráda nic Jenda23.
Rád se účastním diskuzí o Bascomu. Mam nějaké demo programy pokud je zájem. Ted sem si pořídil
desku: http://www.tme.eu/cz/details/evb4.3-32/ ... ody-atmel/# na tý testuji a
zkouším programy mohu jen doporučit.
S úctou ujosvec
Tky se snažim hrát si v Baascomu. Jsem jen amatér a vždy se obracím na kamaráda nic Jenda23.
Rád se účastním diskuzí o Bascomu. Mam nějaké demo programy pokud je zájem. Ted sem si pořídil
desku: http://www.tme.eu/cz/details/evb4.3-32/ ... ody-atmel/# na tý testuji a
zkouším programy mohu jen doporučit.
S úctou ujosvec
0
NTB-
Dell INSPIRON N7110
8G RAM
nvidia GT525M/1G
SSD 128G
Win8-64bit
Linux
Dell INSPIRON N7110
8G RAM
nvidia GT525M/1G
SSD 128G
Win8-64bit
Linux
-
- Pokročilý člen
- Príspevky: 626
- Dátum registrácie: 05 Nov 2009, 00:00
- Bydlisko: Bratislavský kraj
Re: Úvod do jazyka
áno, Jenda23 aj mne niekoľkokrát pomohol. Tú dosku mám aj ja, ale s procesorom Atmega644p. Je to dobrá vecička. Myslím si, že vybavený vývojovými doskami a merákmi som celkom slušne. Už len sa do toho programovania a stavby zariadení pustiť.
0
Re: Úvod do jazyka
Právě jsem se snažil rozchodit tenhle modul: RX1602A5-GHW-TS, ale bez úspěchu.
Na guglu jsem nic nenašel a v šítu prý je chyba ale dotyčný už neuvedl jáká. Je to škoda
chci ho na vřeteno pro mini CNC. Řízení 3fázového motoru přes program už mam hotov,
ale tady sem ztroskotal. No uvidím co dál.
Na guglu jsem nic nenašel a v šítu prý je chyba ale dotyčný už neuvedl jáká. Je to škoda
chci ho na vřeteno pro mini CNC. Řízení 3fázového motoru přes program už mam hotov,
ale tady sem ztroskotal. No uvidím co dál.
0
NTB-
Dell INSPIRON N7110
8G RAM
nvidia GT525M/1G
SSD 128G
Win8-64bit
Linux
Dell INSPIRON N7110
8G RAM
nvidia GT525M/1G
SSD 128G
Win8-64bit
Linux
- TAZ
- Power user
- Príspevky: 939
- Dátum registrácie: 12 Feb 2008, 00:00
- Bydlisko: Ostrava
- Vek: 56
- Kontaktovať používateľa:
Re: Úvod do jazyka
Ahoj lidi. Začínám si hrát s BASCOMem a potřeboval bych poradit. Potřebuji navrhnout blikač se 4 ledkami a dvěma jumperama na přepínání 4 režimů blikání. Prosím o radu, co tam dopsat, aby mi cpu před každým cyklem zjistil, co je nastavené na jumperech a podle toho mi to nastavilo to blikání.
Mám zatím napsané toto:
$regfile = "attiny13a.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 8
$framesize = 10
Dim A As Byte
Dim B As Bit
Dim C As Bit
Dim D As Bit
Dim E As Bit
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Input
Config Portb.5 = Input
Portb.4 = 1
Portb.5 = 1
A = 0
Do
Waitms 140
Portb.a = B
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = C
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = D
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = E
Waitms 20
Portb.a = 0
Incr A
Loop Until A = 4
A = 0
Return
End
Mám zatím napsané toto:
$regfile = "attiny13a.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 8
$framesize = 10
Dim A As Byte
Dim B As Bit
Dim C As Bit
Dim D As Bit
Dim E As Bit
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Input
Config Portb.5 = Input
Portb.4 = 1
Portb.5 = 1
A = 0
Do
Waitms 140
Portb.a = B
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = C
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = D
Waitms 20
Portb.a = 0
Waitms 140
Portb.a = E
Waitms 20
Portb.a = 0
Incr A
Loop Until A = 4
A = 0
Return
End
0