|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
bajdec Član
Pridružen-a: Čet 12 Nov 2009 19:56 Prispevkov: 287 Aktiv.: 1.64 Kraj: Zagorje ob Savi
|
Objavljeno: Pon Maj 05, 2014 9:05 pm Naslov sporočila: Bascom AVR vprašanje |
|
|
Živjo, delam program na arduinotu, ki komunicira s PCjem in mu le-ta posreduje oz bere podatke. Zato imam vprašanje:
Rad bi vklapljal in izklapljal porte, tako, da s PCja pošljem npr. ukaz preko serijskega vmesnika "PORTB,00101100" in se bodo vklopili določeni izhodi na arduinotu. Zanima me najlažja varianta, kako bi to izdelal.
(Za PHP je takšna funkcija explode)
Lp |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.12 Kraj: Maribor (Pohorje)
|
Objavljeno: Pon Maj 05, 2014 9:16 pm Naslov sporočila: Re: Bascom AVR vprašanje |
|
|
bajdec je napisal/a: |
Živjo, delam program na arduinotu, ki komunicira s PCjem in mu le-ta posreduje oz bere podatke. Zato imam vprašanje:
Rad bi vklapljal in izklapljal porte, tako, da s PCja pošljem npr. ukaz preko serijskega vmesnika "PORTB,00101100" in se bodo vklopili določeni izhodi na arduinotu. Zanima me najlažja varianta, kako bi to izdelal.
(Za PHP je takšna funkcija explode)
Lp |
Ne morem najprej mimo vprašanja - Zakaj pa programiraš Arduino v Bascom-AVR? Mislim, OK, seveda gre, ampak C(++) je vseeno precej boljši, sploh če že imaš Arduino, ki ima za sabo ogroomno primerov kode.
EDIT: Sem šel na internet pod Bascom-AVR Help in se malo igral z iskanjem:
Koda: |
'Prejmes "PORTB,00101100"
Dim S(3) As String * 8
Dim I As Byte
I = SPLIT(prejet_string, S(2), ",")
'S(1) je še neuporabljen
'S(2) je "PORTB"
'S(3) je "00101100"
S(1) = LEFT(S(2), 4) 'Return N of leftmost characters in a string.
S(2) = RIGHT(S(2), 1) 'Return N of rightmost characters in a string.
'S(1) je "PORT" - to lahko uporabiš v kakem IF stavku, da sortiraš komande
'S(2) je "B" - to lahko v switch stavku pogledaš in se odločiš na kateri port boš pisal
'S(3) vsebuje binarno vrednost porta, to še moraš pretvorit
If S(1) = "PORT" Then
I = BINVAL(S(3)) 'Converts a string representation of a binary number into a number
'I je 0b00101100
Select Case S(2)
Case "A" : PORTA = I
Case "B" : PORTB = I
Case Else : !NOP
End Select
End If
|
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
bajdec Član
Pridružen-a: Čet 12 Nov 2009 19:56 Prispevkov: 287 Aktiv.: 1.64 Kraj: Zagorje ob Savi
|
Objavljeno: Pon Maj 05, 2014 10:38 pm Naslov sporočila: Re: Bascom AVR vprašanje |
|
|
program_er je napisal/a: |
bajdec je napisal/a: |
Živjo, delam program na arduinotu, ki komunicira s PCjem in mu le-ta posreduje oz bere podatke. Zato imam vprašanje:
Rad bi vklapljal in izklapljal porte, tako, da s PCja pošljem npr. ukaz preko serijskega vmesnika "PORTB,00101100" in se bodo vklopili določeni izhodi na arduinotu. Zanima me najlažja varianta, kako bi to izdelal.
(Za PHP je takšna funkcija explode)
Lp |
Ne morem najprej mimo vprašanja - Zakaj pa programiraš Arduino v Bascom-AVR? Mislim, OK, seveda gre, ampak C(++) je vseeno precej boljši, sploh če že imaš Arduino, ki ima za sabo ogroomno primerov kode.
EDIT: Sem šel na internet pod Bascom-AVR Help in se malo igral z iskanjem:
Koda: |
'Prejmes "PORTB,00101100"
Dim S(3) As String * 8
Dim I As Byte
I = SPLIT(prejet_string, S(2), ",")
'S(1) je še neuporabljen
'S(2) je "PORTB"
'S(3) je "00101100"
S(1) = LEFT(S(2), 4) 'Return N of leftmost characters in a string.
S(2) = RIGHT(S(2), 1) 'Return N of rightmost characters in a string.
'S(1) je "PORT" - to lahko uporabiš v kakem IF stavku, da sortiraš komande
'S(2) je "B" - to lahko v switch stavku pogledaš in se odločiš na kateri port boš pisal
'S(3) vsebuje binarno vrednost porta, to še moraš pretvorit
If S(1) = "PORT" Then
I = BINVAL(S(3)) 'Converts a string representation of a binary number into a number
'I je 0b00101100
Select Case S(2)
Case "A" : PORTA = I
Case "B" : PORTB = I
Case Else : !NOP
End Select
End If
|
|
Hvala za kodo, bom poskusil čimprej!
Glede bascoma in arduinota, sem že v eni temi razlagal da nam je profesor zamenjal bootloaderje na arduinotih in ga lahko sedaj programiramo le preko bascoma. |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.12 Kraj: Maribor (Pohorje)
|
Objavljeno: Pon Maj 05, 2014 10:46 pm Naslov sporočila: Re: Bascom AVR vprašanje |
|
|
bajdec je napisal/a: |
profesor zamenjal bootloaderje na arduinotih in ga lahko sedaj programiramo le preko bascoma. |
Torej cilj vašega predmeta je znati programirati mikrokontrolerje (in nekaj narediti) ali znati programirati (mikrokontrolerje) v Bascom-u? _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
mucek Član
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5327 Aktiv.: 24.78 Kraj: Domzale
|
Objavljeno: Tor Maj 06, 2014 7:12 am Naslov sporočila: |
|
|
Omisli si avr isp programator, da ne boš več vezan na bootloader. Glede na to, da si želiš v C vode, pa vam dajejo Bascom, ti bo Volk po mojem še šenkal enega (ponavadi je obratno ...)
Prideš na piknik? Imej proc s sabo, pa ti vržem gor arduino bootloader. (katerega lahko v skrajni sili tudi za bascom uporabiš, ga podpira!)
Lp, g _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
|
bajdec Član
Pridružen-a: Čet 12 Nov 2009 19:56 Prispevkov: 287 Aktiv.: 1.64 Kraj: Zagorje ob Savi
|
Objavljeno: Tor Maj 06, 2014 4:44 pm Naslov sporočila: |
|
|
Si bom omislil programator, ja.
Na piknik me ne bo, ker nisem član, pa tudi ker nimam prevoza (nisem še polnoleten). |
|
Nazaj na vrh |
|
|
mucek Član
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5327 Aktiv.: 24.78 Kraj: Domzale
|
Objavljeno: Tor Maj 06, 2014 5:33 pm Naslov sporočila: |
|
|
bajdec je napisal/a: |
Na piknik me ne bo, ker nisem član, pa tudi ker nimam prevoza (nisem še polnoleten). |
Heh, kjer je volja, tam je pot! Že zaradi bolšjaka se ti splača priti ... Če nekako prideš do Ljubljane, potem naprej ne boš imel problema, lahko pa tudi kdo iz vašega konca gre ...
Lp, g _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
|
bajdec Član
Pridružen-a: Čet 12 Nov 2009 19:56 Prispevkov: 287 Aktiv.: 1.64 Kraj: Zagorje ob Savi
|
Objavljeno: Tor Maj 06, 2014 7:11 pm Naslov sporočila: |
|
|
Hvala za povabilo, ampak žal moram reči ne. Moti me dejstvo da sem potem odvisen od nekoga. Bom pa prišel na kakšen drug dogodek (septembra se bom lahko že sam peljal kam).
Programator bom pa kupil kmalu, sedajle bom izpolnil prijavnico za članstvo (če prav razumem, lahko prodajate samo članom?).
Moram pa pohvalit forum, ker res znate svetovat in pomagat, medtem ko na kakšnem drugem forumu ob takšnem vprašanju samo jamrajo. |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 49 dni
Powered by phpBB © 2001, 2005 phpBB Group
|