Case komutu arası geçen süre

Başlatan Tracker, 05 Ocak 2019, 23:48:58

Tracker

Arkadaşlar merhaba. Bu pic ile programlama işine daha yeni başladım ve ilk işim arabam için uzaktan koltuk ısıtmayı çalıştıracak bir devre. İstediğim olay şu;


void main()
{
set_tris_b(00000000);
set_tris_c(11111111);
output_b(00000000);
int x=0;


while(1)
{
  if(input(pin_c3)==1)
  {
  x++;
  switch(x)
  {
  case 1:output_b(00000000);delay_ms(1000);break;
  case 2:output_b(00000001);delay_ms(1000);output_b(00000000); break;
  

  
  }
}

Bu kodlarda case 1 ve case 2 arasında 10 saniyelik bir süre koyup eğer 10 saniye case 2 ye geçilmezse yani x=2 olmazsa her daim döngüyü başa alması, yani çalıştırmak için c3 ün yine 2 kere tetiklenmesi. Bunun nedeni koltuk ısıtmanın sadece ardarda 2 tetikte çalışmasını istemem. Şimdidden teşekkürler