Ahojte. prosím měl bych jeden dotaz. Snažím se udělat program, který by reagoval na stisk tlačítka. A to tak, že bych rozlišoval dlouhý a krátký stisk. Ale nějak nevím jak na to. Mohl by mi někdo poradit?
Fórum › C / C++
Délka stisku tlačítka v C pro atmegu8
//no velice vykostenej prikladek:
unsigned char pocet = 0;
...
loop() {
if ( (PINB & _BV(PB0)) == 0 ) { // active low
if (pocet < 200) pocet++;
} else {
if ( pocet > 2 ) { // debounce
if ( pocet < 150) { // short press
akce1();
} else { // long press (more than 5ms*150 => 750ms)
akce2();
}
}
pocet=0; // reset
}
delay(5); // sleep 5 miliseconds
}
akorat se akce provede az po pusteni tlacitka...
a loop je jen pseudo kod pro nejake spousteni periodicky.. da se to klidne spoustet pomoci preruseni
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 84 hostů
Podobná vlákna
Délka stisku klávesy — založil Kenda
AVR rozsvícení LED po stisku tlačítka — založil Marek Černý
C# metoda pro tlačítka — založil mrM
Moderátoři diskuze