#include "stm8s.h" _Bool minuly_stav=FALSE; // zde si budeme ukládat minulý stav tlačítka (TRUE=tlačítko stisknuté, FALSE=tlačítko uvolněné) _Bool aktualni_stav=FALSE; // zde si budeme ukládat aktuální stav tlačítka (TRUE=tlačítko stisknuté, FALSE=tlačítko uvolněné) void main(void){ GPIO_Init(GPIOC,GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_SLOW); // nastavíme PC5 jako výstup typu push-pull (LEDka) GPIO_Init(GPIOE, GPIO_PIN_4,GPIO_MODE_IN_FL_NO_IT); // nastavíme PE4 jako vstup (tlačítko) while (1){ // stále dokola if(GPIO_ReadInputPin(GPIOE,GPIO_PIN_4)==RESET){aktualni_stav=TRUE;} // čteme aktuální stav tlačítka else{aktualni_stav=FALSE;} if(minuly_stav==FALSE && aktualni_stav==TRUE){ // je to omakži stisku ? if(GPIO_ReadOutputData(GPIOC) & GPIO_PIN_5){GPIO_WriteLow(GPIOC,GPIO_PIN_5);} // pokud je na LEDce log.1 zhasneme else{GPIO_WriteHigh(GPIOC,GPIO_PIN_5);} // jinak rozsvítíme } minuly_stav = aktualni_stav; // aktuální stav tlačítka se stal minulým } }