www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Programiranje v bascom avr
Pojdi na stran Prejšnja  1, 2, 3 ... 18, 19, 20 ... 36, 37, 38  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.69
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 25, 2009 7:52 pm    Naslov sporočila:   Odgovori s citatom

Je, je...

en primer:
If K = 4 Or K = 5 Or K = 6 Then
Locate 4 , 1
itd...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
klemen88
Član
Član



Pridružen-a: Tor 01 Jan 2008 17:37
Prispevkov: 747
Aktiv.: 3.77
Kraj: Slovenj Gradec

PrispevekObjavljeno: Pet Dec 25, 2009 7:57 pm    Naslov sporočila:   Odgovori s citatom

protoncek je napisal/a:
Je, je...

en primer:
If K = 4 Or K = 5 Or K = 6 Then
Locate 4 , 1
itd...


Ti si dal ALI funkcijo! Za AND funkcijo je pa :


IF K=4 AND L=4 THEN
SET XXX
END IF

linel je napisal/a:
zanima me,kako se naredi, da se dogodek izvrši če npr gledamo dva pogoja

if pina.0 and pina.1 = 1 then
portc = 1

vendar v bascomu nisem zasledil ukaza and, kako vi naredite v tem primeru?


Pri tebi je problem ker moreš za vsak pin napisat kdaj je pogoj izpolnjen!

if pina.0 = 1 and pina.1 = 1 then
portc = 1

end if
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.69
Kraj: Mengeš

PrispevekObjavljeno: Pet Dec 25, 2009 8:03 pm    Naslov sporočila:   Odgovori s citatom

Ja, vem...AND ali OR je itak podobno, torej so tudi ukazi enaki. Jaz sem samo prilepil primer.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
linel
Član
Član



Pridružen-a: Čet 06 Mar 2008 21:14
Prispevkov: 178
Aktiv.: 0.91
Kraj: prekmurje

PrispevekObjavljeno: Pet Dec 25, 2009 8:30 pm    Naslov sporočila:  Programiranje v bascom avr Odgovori s citatom

to zdaj dela... zdaj me še pa zanima kako bu naredil podmeni..
npr. v prvi vrstici bi hodil med različnimi besedilami, temperatura - vlažnost - ventilator.... to mi sicer dela, nevem pa kako bi potem prišel v podmeni da bi se ob pritisku na tipko potrditev še zraven v drugi v drugi vrstici pojavilo nekaj takšega seveda na lcd 2x16 :


<ventilator>
*vklop izklop

za glavni meni imam eno spremenljivko in glede na vrednost te spremenljivke se izpisujejo besedila.. to dela.. neven pa kako bi naredil za pod meni, kaj svetujete? in seveda npr ob pritisku tipke nazaj bi skočil v glavni meni, besedilo v drugi vrstici se izbriše. kako ste vi kaj izvedli menuje?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
robika
Član
Član



Pridružen-a: Pon 05 Apr 2004 20:55
Prispevkov: 268
Aktiv.: 1.20
Kraj: ajdovščina

PrispevekObjavljeno: Pet Dec 25, 2009 9:16 pm    Naslov sporočila:   Odgovori s citatom

Bascom pozna "and" in "or". Uporabi in prevedi, pa boš videl, da ne se ne bo pritožil, pa tudi upošteval bo. Res pa v helpu ni nikjer omenjeno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Collat3ral
Član
Član



Pridružen-a: Pon 07 Dec 2009 20:40
Prispevkov: 27
Aktiv.: 0.15
Kraj: Velenje

PrispevekObjavljeno: Pet Jan 01, 2010 9:21 pm    Naslov sporočila:   Odgovori s citatom

Da ne bom nove teme odpiru, bom kr semle napisal.

Torej zanima me, kako v Bascom AVR dobim čas, kako dolgo je bil kontakt na vhodu.

Torej če stisnem gumb in ga držim X sekund, kako dobim tist X v programu, da ga uporabljam za ostale funkcije.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fluffy111
Član
Član



Pridružen-a: Sob 13 Dec 2008 21:44
Prispevkov: 351
Aktiv.: 1.88
Kraj: Ptuj

PrispevekObjavljeno: Pet Jan 01, 2010 9:53 pm    Naslov sporočila:   Odgovori s citatom

Vklopiš timer, šteješ kolikokrat prešteje do konca, izračunaš v kakšem času pride do konca in zadevo izpišeš. Teoretično.

V praksi bi bilo malo drugače. Recimo:

enable intterupts
enable timer0
config timer0=timer,prescale=1
on timer0 pritinsnjena_tipka

dim stevec as byte
dim cas as long
stevec=0
do
loop
pritisnjena_tipka:
if tipka=1 then incr stevec
if tipka=0 then
*
'tukaj napišeš ukaz ki ga želiš izvršiti
stevec=0
end if


*Preračun časa je odvisen od vrednosti oscilatorja. Če imaš 4MHz quartz kristal, čas, ki ga porabi program da prešteje en cikel, dobiš po formuli 1/4'000'000. Če imaš večji quartz pa vpišeš ustrezno večjo cifro. Ko izračunaš to (mislim da pride nekje 0,00025s), potem to pomnožiš z številko, ki jo imas pod števcem. Mislim da zapišeš tako:
cas=0,00025x(število v števcu)
Ko si to rešil, si dobil čas v katerem si držal tipko.
Lahko pa pri prescale vpišeš večjo cifro. Npr. 1024. Če narediš to, ti šteje le vsak 1024-i signal in se cikel posledično podalša in števec potrebuje več časa, da prešteje do konca. Namesto timer0 lahko tudi uporabiš timer1, ki je 16 bitni, med tem ko je timer0 8 bitni.

Saj si želel to?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Collat3ral
Član
Član



Pridružen-a: Pon 07 Dec 2009 20:40
Prispevkov: 27
Aktiv.: 0.15
Kraj: Velenje

PrispevekObjavljeno: Pet Jan 01, 2010 10:17 pm    Naslov sporočila:   Odgovori s citatom

Torej dejansko vsakič ko bo šel program čez zanko, bo povečal vrednost števca. Pol pa sam glede na vrednost oscilatorja dobiš koliko časa potrebuje program, da gre čez zanko. In iz tega dobiš čas.
Mislim prav?

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fluffy111
Član
Član



Pridružen-a: Sob 13 Dec 2008 21:44
Prispevkov: 351
Aktiv.: 1.88
Kraj: Ptuj

PrispevekObjavljeno: Pet Jan 01, 2010 10:21 pm    Naslov sporočila:   Odgovori s citatom

Da. Dobiš kolikokrat je šel čez zanko in to pomnožiš s časom, ki ga potrebuje za eno zanko.

Lp
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
fluffy111
Član
Član



Pridružen-a: Sob 13 Dec 2008 21:44
Prispevkov: 351
Aktiv.: 1.88
Kraj: Ptuj

PrispevekObjavljeno: Pet Jan 01, 2010 10:26 pm    Naslov sporočila:   Odgovori s citatom

Aja. Pozabil sem. Dodaj še:

Do
if tipka=1 then
start timer0
else
stop timer0
reset timer0
end if

Za to bi prosil nekoga, da popravi če je potrebno, ker nisem prepričan ali je možno tako.

Lp
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.65
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jan 11, 2010 5:51 pm    Naslov sporočila:   Odgovori s citatom

Trenutno se mučim in iščem kako se izpiše binarno vrednost na LCD. Težava je taka, ko preberem vrednost na neki napravi preko SPI in to vrednost izpišem na LCD, mi izpiše decimalno jaz pa bi rad binarno. Kdo ve kako to storiti?

Koda:


...

    Reset Spi_cs

    XX(1) = Spimove(&H02)                                   
    XX(2) = Spimove(&H00)                                   

    Set Spi_cs

   Locate 1 , 1
   Lcd XX(2)

...


_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.07
Kraj: KOPER

PrispevekObjavljeno: Pon Jan 11, 2010 6:55 pm    Naslov sporočila:   Odgovori s citatom

Lcd bin(XX(2))

če pa ne gre tako
pa:

a = XX(2)

lcd bin(a)

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.65
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jan 12, 2010 9:26 am    Naslov sporočila:   Odgovori s citatom

Hvala sedaj deluje!

Ko sem poizkusil mi izpiše vrednost 123 in 01111011 kar je pravilno me pa malo čudi zakaj napiše 48 (v drugi vrstici) če v kodo vstavim drugo spremenljivko B = Bin(A) in v drugi vrstici izpišem samo B?

Koda:

   A = 123

   Locate 1 , 1
   Lcd A
   Lowerline
   Lcd Bin(A)


_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.07
Kraj: KOPER

PrispevekObjavljeno: Tor Jan 12, 2010 11:11 am    Naslov sporočila:   Odgovori s citatom

Ne vem zakaj si deklariral b=bin(a)?
b=a

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
kotnikd3
Neznanec
Neznanec



Pridružen-a: Sre 28 Apr 2010 16:42
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Sre Apr 28, 2010 10:14 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!
Učim se bascom osnove, pa me zanima, kako preverim če program dejansko deluje.
V simulatorju se mi ne prižge nobena ledica oz. lučka.
V programu naj bi ledica na portu utripala:

$regfile = "attiny26.dat"
$crystal = 4000000

Config Porta = Output

Do
Set Porta.0
Wait 1
Reset Porta.0
Wait 1
Loop
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3 ... 18, 19, 20 ... 36, 37, 38  Naslednja
Stran 19 od 38

 
Pojdi na:  
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: 66 dni


Powered by phpBB © 2001, 2005 phpBB Group