Buton sorunu

Başlatan Celalkızılırmak, 22 Şubat 2018, 19:11:28

Celalkızılırmak

Arladaşlar öncelikle hepinize koşay gelsin eleltronikte bilgim var ama pic programlamaya yeni geçtin sorum olacak sizlere pic basicte buton sorunum var butona bir kaç defa bastığm zaman buton işlevini yerine getiriyor bazen 1 defada işlem görmüyor ne yapabilirim saygılar

mehmet

Kalın (Bold) yazı özelliğini kaldırıp yeniden düzenleyiniz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Celalkızılırmak

Düzenledim mehmet hocam

mehmet

Kodlarınızı yayınlarsanız daha fazla
yardım alabilirsiniz.
Muhtemelen "debounce" gecikmesi
eklemediğiniz için olabilir.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

mrtplt

button debuance google amca

Celalkızılırmak

Debounce yazdım google. Birşey bulamadım. Ama ben ıf komutuyla yaptım. Kodları paylaşacağım.

burç tankal

Kodunuzda delay kullandıysanız bundan da olabilir

ete

Bu tür sorunları kodları görmeden yorumlamak yanlış olur. Pek çok sebebi olabilir. Bazılarını buraya yazayım.
1. Kısa bir kod gurubu vardır. Butona bastın her buton basma anında yüzlerce kez bas bırak yapar. Sonuçta iki kontak birleşiyor ama yavaş çekimde bakma imkanınız olsa idi kolaylıkla buton kontaklarının bir birine yaklaştığı anda bir dokunup bir ayrıldığını ve bunu yüzlerce kez tekrarladığını görebilirdiniz. Bu durumda ilk dokunuş basıldı algısını yaratır ve siz butona basıldıktan sonra yapılacakları yapıp sonrasına yeterince gecikme koymazsanız (80-100 ms kadar) program döner başa gider ve tekrar butona basıldığını görerek aynı şeyleri tekrar yapmaya çalışır.
Bu arada toggle gibi bir komut da çalıştırıyorsanız hep kapalı konuma denk gelebilirsiniz.

2. En önemli sebeplerden biriside program kendi halinde komutları icra ederken bir gecikme komutuna denk gelip onu icra ederken sizde butona basarsanız program hanyada siz konyada olursunuz ve programın butona basıldığından haberi olmaz. Kısaca butona basıldığında programda orada sizin butona bastığınızı bekliyor olması gerekir. Özellikle buton kullanılan ve sık sık kontrol edilmesi gereken programlarda gecikme miktarları 100 ms den fazla olmamalıdır. Hatta daha azı daha makbuldür.

Başka sebeplerde var ama bana kalırsa bu sorun 2 nolu açıklamada belirtilen durumdan kaynaklanıyordur.

Kod vermeden sorunuma çare bulun demek çok yanlış. Yorum yapacak olanlar müneccim değil sonuçta. Yüzlerce ihitimali olan bir işte ancak kodu görerek senin görmediğin kusuru görebilir ve açıklayabiliriz.

Ete

Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Celalkızılırmak

Ete hocam kodları en kısa zamanda paylaşacağım  iş yoğunluğu nedeniyle pek müsait olamıyorm