gecenin bu saatinde aklıma takıldı işte yardımcı olabilirmisiniz? Örneğin pin bir tanesinde bir buto var ve butona her bastığımda herhangi bir değişkenin değeri bir artsın. ben döngü ile yapıorum ancak butona bastığım andan bıraktığım ana kadar geçen süre içereisinde saymaya devam ediyor. benim isteğim butona ilk bastığım anda bir artsın basılı tutmaya devam etsem bile değer artmasın. bir sonraki başısta yine 1 artsın. umarım anlatabilmişimdir...
gecenin bu saatinde aklıma takıldı işte yardımcı olabilirmisiniz? Örneğin pin bir tanesinde bir buto var ve butona her bastığımda herhangi bir değişkenin değeri bir artsın. ben döngü ile yapıorum ancak butona bastığım andan bıraktığım ana kadar geçen süre içereisinde saymaya devam ediyor. benim isteğim butona ilk bastığım anda bir artsın basılı tutmaya devam etsem bile değer artmasın. bir sonraki başısta yine 1 artsın. umarım anlatabilmişimdir...
PLC'de yükselen kenar tetikleme diye bir durum var, lakin sizin pic ile gerçekleştireceğinizi düşünüyorum. Bir hafıza bitini düğme basılı bayrağı olarak atayın. İlk çevrimde bayrağı "1" olarak kurun. Sonrasında iligili giriş ile bayrağı "ve" işlemine tabi tutup (sayıcı girişine) çıkış olarak atayın. Akabinde düğme basılı ise bayrağı "0", değilse "1" olarak kurun.
if (input(buton))
{
delay_ms(15); // Butona basılınca meydana gelen arkın etkisini önlemek için verilen gecikme
sayi++; // sayı arttırılıyor
while(input(buton)); // Buton bırakılana kadar bekle
{
}
}
if (input(buton))
{
delay_ms(15); // Butona basılınca meydana gelen arkın etkisini önlemek için verilen gecikme
sayi++; // sayı arttırılıyor
while(input(buton)); // Buton bırakılana kadar bekle
{
}
}
if (input(buton))
{
delay_ms(15); // Butona basılınca meydana gelen arkın etkisini önlemek için verilen gecikme
sayi++; // sayı arttırılıyor
output_d(sayi);
while(input(buton)); // Buton bırakılana kadar bekle
{
}
}
bu şekilde yapsam d portuna bağlı ledleri butona her bastığımda yakmam gerekir değilmi. ama başaramadım. Bu arada yardımlarınız için teşekkür ederim.
if(butona basıldımı==evet ve kilit==0){
kilit=1;
degişken++;
}
if(buton bırakıldımı==evet ve kilit==1)kilit=0;
döngü kullanırsanız yada delay kullanrsanız ve eğer büyük programlar yazacaksanız programınız while ve delay ın olduğu yerde donar bir satır ilerlemez buda istenen bir durum değildir bu yüzden mümkün olduğu ölçüde programı kitlemeyen yazılımımsal çözümleri kullanmak tercih edilir