Zdravím, naprogramoval jsem si PIC v assembleru. Programem stopuji čas.
Při stopování času uložím daný čas do paměti pomocí tlačítka, na kterém mám nastaveno přerušení.
Bohužel nevím jak ošetřit tlačítko, aby reagovalo jen na jednu změnu, a to zmáčknutí.
Jelikož když tlačítko držím déle tak toto přerušení proběhne při zmáčknutí i puštění
Předem moc děkuji.
PIC - TON, TOF - ošetření tlačítka
Moderátor: Moderátoři
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Použij nějaký flag/příznak stisknutého tlačítka, co se při stisku nastaví, a v hlavní smyčce programu ho smaž, až je tlačítko skutečně rozepnutý, t.j. po filtraci.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- forbidden
- Příspěvky: 8808
- Registrován: 14 úno 2005, 01:00
- Bydliště: Brno (JN89GF)
- Kontaktovat uživatele:
Jednoduchej kus kódu na kontinuální test třech tlačítek.
V každé obsluze jednotlivýho tlačítka je ještě čekání na rozepnutí.
Samotná akce ale může začít až po puštění, nebo něco udělat před puštěním a pak čekat. Záleží jak se to hodí.
Kód: Vybrat vše
TT1 BTFSC TL1 ; test stisku tlacitka 1
GOTO TT2
CALL CEK15MS ; cekej 15 ms na dozneni zakmitu
BTFSC TL1 ; 2. test stisku tlacitka 1 kvuli zakmitum
GOTO TT2
GOTO T1 ; skok na obsluhu tlacitka 1
TT2 BTFSC TL2 ; test stisku tlacitka 2
GOTO TT3
CALL CEK15MS ; cekej 15 ms na dozneni zakmitu
BTFSC TL2 ; 2. test stisku tlacitka 2 kvuli zakmitum
GOTO TT3
GOTO T2 ; skok na obsluhu tlacitka 2
TT3 BTFSC TL3 ; test stisku tlacitka 3
GOTO TT1
CALL CEK15MS ; cekej 15 ms na dozneni zakmitu
BTFSC TL3 ; 2. test stisku tlacitka 3 kvuli zakmitum
GOTO TT1
GOTO T3 ; skok na obsluhu tlacitka 3
Kód: Vybrat vše
T1 BTFSS TL1
GOTO $-1