Stránka 1 z 1
PIC - TON, TOF - ošetření tlačítka
Napsal: 12 pro 2016, 15:08
od palol69
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.
Napsal: 12 pro 2016, 18:05
od ZdenekHQ
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.
Napsal: 12 pro 2016, 20:15
od forbidden
Jednoduchej kus kódu na kontinuální test třech tlačítek.
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
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í.
Napsal: 01 led 2017, 17:26
od mtajovsky
No dobrý, ale to znamená, že pokud podržím některé tlačítko, celý systém zablokuji.