Arduino Harici kesme ve i2C LCD Haberleşme sorunu

Başlatan makdeniz, 10 Mart 2015, 20:06:24

makdeniz

Merhaba

Arduino ile bir proje geliştirmeye çalışıyorum normal lcd kütüphanesi ile sorun yokken i2C lcd modülü aldım i2C olarak LCD'e bilgi gönderebiliyorum
Daha önceden yazılmıs projemde iki adet harici kesme kullanıyorum

Arduino Pro mini'de kesmeler için 2 ve 3 nolu pinleri kullanıyorum normalde calısıyor ama i2c lcd ve wire kütüphanesi eklenince

attachInterrupt(0, kesme1, CHANGE);  0. kesmede sorun yok
attachInterrupt(1, kesme2, CHANGE);  1. kesme bu kodla aktif olunca program bu satırdan sonra ilerlemiyor

Sorunu bilen duyan varmıdır ?

Büyük ihtimal bir çakışma var ama nasıl önüne geçebilirim...

Ayrıca söyle bir kütüphane var sanırım Arduino'da baska pinleri harici kesme olarak kullanmak için fakat Proteus simulasyonda bir türlü calıstıramadım
Acaba bu kütüphane sorunumu çözmeye yardımcı olur mu ?
Kütüphane ve örnek için 

Örnek : http://playground.arduino.cc/Main/PinChangeInt

Kütüphane : https://code.google.com/p/arduino-pinchangeint/downloads/list

Saygılar

Karanlık olmadan aydınlık, Ölüm olmadan yaşam mantıksız.

Kabil ATICI

Arduino üzerindeki işlemcileri kullanıyorum, orada belirtilen bacaklar harici kesme bacaklarıdır.
Normalde kesmelerde çakışma olmaz, Her kesme kendine göre ayrılmış kesme vektörleri vardır. Tek belirleyen önceliktir.
Programda tam olarak neler yapıyorsunuz, onu bilemiyoruz, sorun gelen kesmenin işlenmesinden kaynaklanan bir durum olabilir.

Programın akışından incelemen gerek. Kesme verisini incelemek için kullandığın kod parçasını void loop() içinde bakması için programı düzenleyebilirsin.

o takılan çevrim içinde bir ledi yakarak veya söndürerek nere takıldığına bakabilirsin
ambar7

makdeniz

Alıntı yapılan: Kabil ATICI - 10 Mart 2015, 21:18:25
Arduino üzerindeki işlemcileri kullanıyorum, orada belirtilen bacaklar harici kesme bacaklarıdır.
Normalde kesmelerde çakışma olmaz, Her kesme kendine göre ayrılmış kesme vektörleri vardır. Tek belirleyen önceliktir.
Programda tam olarak neler yapıyorsunuz, onu bilemiyoruz, sorun gelen kesmenin işlenmesinden kaynaklanan bir durum olabilir.

Programın akışından incelemen gerek. Kesme verisini incelemek için kullandığın kod parçasını void loop() içinde bakması için programı düzenleyebilirsin.

o takılan çevrim içinde bir ledi yakarak veya söndürerek nere takıldığına bakabilirsin

Kabil ustam öncelikle teşekkür ederim sorunu tam çözemedim ama sanırım sorun Arduino IDE kaynaklı yarın ayrıntılı bir inceleme yapacagım çünkü şu anda evde kesmeler ile ilgili basit bir kod yazdım ve sorunsuz çalıştı

bilgiler için teşekkürler
Karanlık olmadan aydınlık, Ölüm olmadan yaşam mantıksız.