Forum » Elektrotehnika in elektronika » kako izvesti prekinitveno rutino
kako izvesti prekinitveno rutino
M@73Y ::
Pozdrav. uporabljam Bascom, atmel 89C4051 in temp senzor 18s20. sedajšnji program mi deluje tko, da prikazuje npr. 23°C. Meritev je pravilna moti me le, da ko program skoči na rutino beri_ds1820 se za 750ms prikazovalnik (7-segmentni prikazov.) izklopi. 750ms potrebuje ds1820 za konverzijo temperature.
sedaj pa mene zanima kako naj jaz izvedem, da mi bojo recimo tistih 750ms, stevilke ostale na prikazovalniku? mogoče kakšna funkcija aka.freeze display.
Hvala, Matej
sedaj pa mene zanima kako naj jaz izvedem, da mi bojo recimo tistih 750ms, stevilke ostale na prikazovalniku? mogoče kakšna funkcija aka.freeze display.
Hvala, Matej
..jump into psytrance tunnel..
R-S-LoVe ::
mislim da je nekaj v zvezi s prebufferjem, nisem pa čisto prepričan
Fear Is The Path To The Dark Side, Fear Leads To Anger,
Anger Leads To Hate, Hate Leads To Suffering!
Anger Leads To Hate, Hate Leads To Suffering!
Zgodovina sprememb…
- spremenil: R-S-LoVe ()
TESKAn ::
Povej, kako imaš urejeno prikazovanje in branje temperature? Če je vsako v svoji rutini, ti pa potem to rutino kličeš iz main() funkcije, potekata verjetno sekvenčno, z kakimi zakasnitvami vmes. To je IMO tvoj problem, da imaš v rutini za branje temperature kak while( ), da narediš potrebne zakasnitve za komunikacijo. Če se hočeš rešit problema, boš moral uporabit en timer za komunikacijo, branje senzorja pa naredit kot state machine - uporabiš switch(stanje_sprejema) in imaš namesto čakanja določen čas. Torej vmes je stanje state_wait in noter if(timer > n) {}. Na tak način ti rutina preveri, če je že potekel čas in če ni, gre ven iz rutine in prepusti procesor rutini za prikazovanje.
Uf! Uf! Je rekel Vinetou in se skril za skalo,
ki jo je prav v ta namen nosil s seboj.
ki jo je prav v ta namen nosil s seboj.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | 1-Wire protokol in DS1820Oddelek: Programiranje | 2115 (1926) | ameba |
» | PIC18F4550 in ds18s20Oddelek: Elektrotehnika in elektronika | 1992 (1671) | snow |
» | DS18B20, meritve v mraziščih (strani: 1 2 )Oddelek: Elektrotehnika in elektronika | 8744 (7259) | TESKAn |
» | programiranje procesorja (strani: 1 2 3 4 … 8 9 10 11 )Oddelek: Elektrotehnika in elektronika | 36633 (26034) | icek |
» | pic ds1820 asmOddelek: Elektrotehnika in elektronika | 2275 (2088) | neoto |