wait vs timer?
wait vs timer?
Sziasztok, lenne egy egyszeru kerdesem hozzatok akik komolyan programoztok Bascom-ban:
Hobi szinten hasznalom az AVR-t es Bascom nemkem untig eleg. De most bejott valami melo amit siman meg tudnek oldani elmeletileg de bisztonsag kedveert profiktol szeretnek velemenyt kerni.
Kell egy kutyurt csinalnom ahol 8db led lenne egy kapcsolon keresztul bekapcsolva. Minden led 1h idot jelent. Ember nyomkodna a kapcsolot. Namost, az ido amit szamolnek az 0-70perc ahol az ember az 50-70perc-ig nyomhatja meg a kapcsolot.
Ha kihagyta akkor az a led nem kapcsol be.
Ok.
Ez egyszeru.
Ami engem nagyon bolygat az, hogy hasznalhatom a Bascom wait parancsat es vele szamolnam az idot viszont a gombnyomast meg egy INT-el kezelnem le vagy inkabb csinaljam a 70perc meres timer-el?
Szemelyessen nekem eleg bonyolult a timer kezelese es ezert szeretnem a wait parancsot hasznalni mert a procko semmi mast nem csinalna.
Tehat mennyire lenne megbizhato a wait hasznalata a timer-hez viszonyitva?
Sok helyen olvastam, hogy kerulni kell a wait parancsot de akkor minek irtak meg ha nem jo hasznalni?
Koszi mindenkinek...
Hobi szinten hasznalom az AVR-t es Bascom nemkem untig eleg. De most bejott valami melo amit siman meg tudnek oldani elmeletileg de bisztonsag kedveert profiktol szeretnek velemenyt kerni.
Kell egy kutyurt csinalnom ahol 8db led lenne egy kapcsolon keresztul bekapcsolva. Minden led 1h idot jelent. Ember nyomkodna a kapcsolot. Namost, az ido amit szamolnek az 0-70perc ahol az ember az 50-70perc-ig nyomhatja meg a kapcsolot.
Ha kihagyta akkor az a led nem kapcsol be.
Ok.
Ez egyszeru.
Ami engem nagyon bolygat az, hogy hasznalhatom a Bascom wait parancsat es vele szamolnam az idot viszont a gombnyomast meg egy INT-el kezelnem le vagy inkabb csinaljam a 70perc meres timer-el?
Szemelyessen nekem eleg bonyolult a timer kezelese es ezert szeretnem a wait parancsot hasznalni mert a procko semmi mast nem csinalna.
Tehat mennyire lenne megbizhato a wait hasznalata a timer-hez viszonyitva?
Sok helyen olvastam, hogy kerulni kell a wait parancsot de akkor minek irtak meg ha nem jo hasznalni?
Koszi mindenkinek...
Re: wait vs timer?
A timerrel precíz időzítésed van.
A wait működése során kitolódik, ha közben int esik be (az int idejével meghosszabbodik).
A háttérben legyen egy timer alapú számlálód. pl. külső 32kHz és onnan van date/time függvényed (sysclock, hour, days, stb)!
A wait működése során kitolódik, ha közben int esik be (az int idejével meghosszabbodik).
A háttérben legyen egy timer alapú számlálód. pl. külső 32kHz és onnan van date/time függvényed (sysclock, hour, days, stb)!
Re: wait vs timer?
Koszi a valaszt. Probalok 1s szamlalot csinalni kezdetnek timer1-el de nem mukszik.
Tudna valaki segiteni mert nem villogtatja a ledemet a kovetkezo kod:
Elore koszi mindenkinek...
Tudna valaki segiteni mert nem villogtatja a ledemet a kovetkezo kod:
Kód: Egész kijelölése
$regfile = "2313def.dat"
$crystal = 8000000
$hwstack=40
$swstack=16
$framesize = 32
const Timer1Reload = 7812
Config Timer1 = Timer , Prescale = 1024
Config Portb.0 = Output
load timer1 , Timer1Reload
on ovf1 Timer1_isr
enable timer1
Start Timer1
enable interrupts
Portb.0 = 1
Timer1_ISR:
load timer1, Timer1Reload
If Portb.0 = 1 Then
Portb.0 = 0
Waitms 500
Else
Portb.0 = 1
Waitms 500
End If
return
Re: wait vs timer?
ISR-ben mit keres WAIT?????
Re: wait vs timer?
Ok, kijavitottam es most mar a Timer1_isr-ben
csak annyi van, hogy:
Es tovabra se villogtatja a ledem. Csak bekapcsol a led es eg.
Az isr elott meg PortB.0 = 0 van.
Tovabra se latom hol a hiba...
csak annyi van, hogy:
Kód: Egész kijelölése
Timer1_isr:
Load TIMER1,Timer1reload
PortB.0 = 1
Return
Az isr elott meg PortB.0 = 0 van.
Tovabra se latom hol a hiba...
Re: wait vs timer?
És hol/mikor kapcsolod ki a LED-et?
És a Bascomban a főprogramod ráfut az ISR-re....
És a Bascomban a főprogramod ráfut az ISR-re....
Re: wait vs timer?
HA!!!! Vagom! 
Koszonom.
Hianyzik a do - loop es ezert rafut a programom
rogton az isr-re.
Koszi.
Koszonom.
Hianyzik a do - loop es ezert rafut a programom
rogton az isr-re.
Koszi.