Merhabalar.
Nextion lcd kullanırken işlemciyi kesme kullanmazsak serin komututla lcd ye köle kılıyoruz.
Arka planda nem ve sıcaklık ölçüp gerektiğinde röle çektirecek bir kart yapacağım ama aynı zamanda nextion lcd den dokunmatik bilgisi alması gerek.
2 adet donanımsal serial haberleşmesi olan pic kullanmayı düşünüyorum bunuda göz önüne alırsak kesme olayı sorun yaratırmı configrasyon ayarları nasıl olmalı ve kesme kullanırken başka nelere dikkat etmek gereklidir merak ediyorum.
Merhaba,
Nextion ile çalışırken hiç kesmesiz çalışmadım. Heralde kesmesiz çalışırsak da bir timer kesmesinde illaki kontrolünü yapmamız lazımdır. 26k80 ile nextion ile haberleşirken aynı zamanda diğer uart hattından da cihazımla haberleşiyordum. Extra bir ayarlama yapmadım. Sadece diğer haberleşme hattından yapılan kısım ile nextion arası yapılan haberleşmede güzel bir algoritma oturtman lazım. Belki state machine gibi gibi gibi... Yada nextion'dan değerleri ölç, çıkış ver gibi ise zaten, sorun çıkaracak kadar büyük bir algoritmayada gerek kalmayacaktır.
Şöyle olması istiyorum.
İşlemci o esnada diğer usart hattından master olarak karşıdaki nem ve sıcaklık sensörlerinin bağlı olduğu karttan sıcaklık ve nem ne oldu derken ve nem atıyorum fazla ise havalandırmayı çalıştırmak gerektiğinde ve fanları çalıştırdığı esnada yine nem değerini sorgularken arka planda ekrandan menü tuşuna basıldığını algıayabilmem lasım.
Tek derdim Tüm bu nem vs okuma işlemleri yapılırken yada çıkışlar aktifken ekrana dokunulduğunu algılatmak sonrasında zaten tüm mevcutta yürütlen işlemleri durduracağım
Misal yeni bir set değeri gireceğim ekrana dokundum ama o esnada sisleme çalışırken durduracak ben set değerini gireceğim tekrar ana menüye döndüğünde değerleri tekrardan sorgulayacak vs gibi..
Yani işin özü ben işlemci ile başka işler yaparken ekrana dokunulduğunu anlamam lasım..
Aklıma şöyle birşey geldi ekran ana karşılama sayfasında iken devamlı 1sn de bir atıyorum ekrandan işlemciye 10 bilgisini göndereceğim butona basılırsa 20 bilgisi gelecek mesela.
İşlemci devamlı dinlemede olacak 7 bilgisi geliyorsa gidip ölçümleri yapacak geri dönüp dinlemeye devam edecek buton bilgisi gelirse menü ekranına gidecek.
Ama şöyle bir sıkıtım var diyelim nem arttı havalandırmayı açmam lasım bu sefer başka bir etiket oluşturup burada ayrı bir etikette sadece nemi düşürürken ayrıca seri portu aynı şekilde dinlemem gerekecek..
Aslında kesme kullanırsak program nerde olursa olsun işi bırakıp herşeyi kapatıp ekrana bakacak kesme bitiminde ana menüye sil baştan tekrar dönecek diye düşünüyorum.
Merhaba,
Anlattıklarınıza bakılırsa kesme kullanmanız sizin için daha güzel olacak. Sıkıntı çıkacağını sanmıyorum bu yaptığınız işler için.
Direk nextion ile sensörleri okusanız tuş lara basılıp basilmadigini mcu ya göndermenize de gerek kalmaz. Hatta mcu ya bile gerek kalmaz. Tabi nextion gelişmiş versiyon kullanmanız gerekecek
Alıntı yapılan: cezeri - 14 Kasım 2018, 13:40:01Direk nextion ile sensörleri okusanız tuş lara basılıp basilmadigini mcu ya göndermenize de gerek kalmaz. Hatta mcu ya bile gerek kalmaz. Tabi nextion gelişmiş versiyon kullanmanız gerekecek
Şuan oturup nextion kütüphanesini hatim edecek vaktim yok hocam.ama epeydir ı/o lu olanlar dikkatimi çekmiyor değil hani.
Alıntı yapılan: eeburakdemir - 14 Kasım 2018, 10:30:44Merhaba,
Anlattıklarınıza bakılırsa kesme kullanmanız sizin için daha güzel olacak. Sıkıntı çıkacağını sanmıyorum bu yaptığınız işler için.
Kesme olayını deniyeceğim.Kodlar üzerinde çalışıyorum bklm..
Kesmeye dallandığında PIR1.5 ve PIR3.5 bayrakları kontrol edip 1. uartmı 2. uartmı olduğunu anlayarak gerisini hserinX ile işleyip çıkışta buffer ı okuyarak bayrağı temizlemek yeterli sıkıntısız çalışıyor.
Nextion demişken, takıldığım bir nokta var. Nextion ekrana float değerleri nasıl yazıyorsunuz? Örneğin 1.2 , 1.5 gibi virgüllü sayıları nasıl yazdırabiliriz. Nextion Waveform 0 ile 255 arasında bir değer istiyor . Ben ekrana grafik çizdirmek istiyorum. Siz floatlı sayıları nasıl kullanıyorsunuz?
Alıntı yapılan: yas - 16 Kasım 2018, 12:03:48Kesmeye dallandığında PIR1.5 ve PIR3.5 bayrakları kontrol edip 1. uartmı 2. uartmı olduğunu anlayarak gerisini hserinX ile işleyip çıkışta buffer ı okuyarak bayrağı temizlemek yeterli sıkıntısız çalışıyor.
kesmeyi 1. usart yani ekran için kullanacağım.birkaç deneme yaptım sonuçlar güzel.realde denemek kaldı birtek.
Alıntı yapılan: argelojik - 16 Kasım 2018, 16:45:25Nextion demişken, takıldığım bir nokta var. Nextion ekrana float değerleri nasıl yazıyorsunuz? Örneğin 1.2 , 1.5 gibi virgüllü sayıları nasıl yazdırabiliriz. Nextion Waveform 0 ile 255 arasında bir değer istiyor . Ben ekrana grafik çizdirmek istiyorum. Siz floatlı sayıları nasıl kullanıyorsunuz?
Maalesef nexiton'da float sayılar yok. Ben eğer sırf ekranda göstereceksem float to string fonksiyonunu ile string hale getirerek o şekilde gösteriyorum. Eğer Sayı formatında göndermek istiyorsanız yine int haline döndürüp göndermeniz gerekecektir