Sound a prerusenie

Moderátori: psichac, Moderátori

bibibo
Pokročilý člen
Pokročilý člen
Príspevky: 625
Dátum registrácie: 05 Nov 2009, 00:00
Bydlisko: Bratislavský kraj

Sound a prerusenie

Príspevok od používateľa bibibo » 27 Aug 2014, 12:08

Uz ma skoro hotovy moj vyrobok, ale natrafil som na jeden problem. Nie je to az tak kriticke, ale rad by som vedel ako sa to riesi.
Moje zariadenie (je to nejaky riadiaci system) ma displej a tlacitka pre ovladanie. Ak zatlacim tlacitko, tak piezo mi vyda zvuk. Ten moj system ma na doske RTC DS1307, ktory mi vyvola kazdu sekundu prerusenie. V preruseni citam hodiny a kontrolujem, ci nastal nastaveny cas. Problem je, ze ak zatlacim tlacitko a zrovna sa trafim do prerusenia, tak mi to piezo vyda nejaky skresleny zvuk. Ako sa toto riesi ? Mam nastavit aby pri vykonani SOUND zakazal prerusenie ?
0

Používateľov profilový obrázok
sonikmartin
Pokročilý člen
Pokročilý člen
Príspevky: 554
Dátum registrácie: 05 Nov 2010, 00:00
Bydlisko: Litomyšl
Vek: 36
Kontaktovať používateľa:

Re: Sound a prerusenie

Príspevok od používateľa sonikmartin » 13 Sep 2014, 12:36

Zakazat preruseni je jedna moznost ale udelal bych to jinak.

Vynechas to preruseni a potom si das do hlavni smycky cely cyklus:

do

cti z ds1307
shoduje se cas?
je stisknute tlacitko?

loop

cti z ds1307 -- prectes data z RTC

shoduje se cas -- v kazdem cyklu zkontroluj zda se shoduje cas s nastavenym

je stisknute tlacitko -- napis si rutinu kterou budes volat pri kazdem stisku tlacitka a doporucuji pouzit funkci "DEBOUNCE"

Kdybys potreboval vice tak mi napis

rad pomuzu
0

bibibo
Pokročilý člen
Pokročilý člen
Príspevky: 625
Dátum registrácie: 05 Nov 2009, 00:00
Bydlisko: Bratislavský kraj

Re: Sound a prerusenie

Príspevok od používateľa bibibo » 13 Sep 2014, 23:49

Ahoj, nad tymto som tiez rozmyslal, ale mam viacurovnove menu a to prerusenie my zabezpeci, ze mozem sa nachadzat kdekolvek a vzdy sa porovna aktualny cas s nastavenym. Naviac v sekundovom preruseni inkrementujem premennu ktoru porovnavam s nastavenou dobou trvania log.1 na urcitom pine. Ak by som to mal spravit tak ako pises, tak by som musel do kazdej urovne menu ponuky dat odkaz na citanie casu a porovnanie aktualneho casu s nastavenym.. Tiez by som musel vyriesit porovnanie nastavenej doby trvania log.1 na urcitom pine s casom, ktory uz uplynul. Dufam, ze som to napisal zrozumitelne.
0

Používateľov profilový obrázok
sonikmartin
Pokročilý člen
Pokročilý člen
Príspevky: 554
Dátum registrácie: 05 Nov 2010, 00:00
Bydlisko: Litomyšl
Vek: 36
Kontaktovať používateľa:

Re: Sound a prerusenie

Príspevok od používateľa sonikmartin » 01 Okt 2014, 07:52

Nemusis to dat do kazde urovne menu, jenom das menu jako jednu subrutinu a porovnavani jako druhou subrutinu. a budes obe volat v hlavni smyčce. A pokud měřiš čas sepnutí výstupu to bych raději udělal vnitřním timerem, na který bych pověsil i ten pípák a máš po starostech. Odpoledne se ti na to kouknu a kousek ti napíšu.
0

Napísať odpoveď