Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: universitelim54 - 23 Mayıs 2019, 22:59:46

Başlık: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: universitelim54 - 23 Mayıs 2019, 22:59:46
Mrb. arkadaslar nextion ekran ve stm32f407 ile mikroc arm kullanarak bir proje hazırlıyorum . sorun şu ki ekrandan girdiğim sayıyı mcu ya gönderemiyorum. ekrandaki texbox tıklanır tıklanmaz printh n10.val komutu gercekleşiyor. henuz sayı yazmadan bu komut gerceklestıgı ıcın 0 degerini mcu ya gonderiyor. texbox tıklandıktan sonra sayısal numarator cıkıyor. onun enter tusuna bastıktan sonra ılgılı sayıyı mcu ya gondermesını istiyorum. konu ıle ılgılı bılgı sahıbı arkadaslardan yardım rıca edıyorum ... saygılar
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: Kabil ATICI - 23 Mayıs 2019, 23:16:50
aslında çözüm karşında;

"textbox" "event" olaylarından "touch press event" veya "touch relase event" altındaki "printh n10.val" veya ilgili komutu sil veya kopyala bunu;
klavye  tuşlarından "enter" event olaylarından birinin altına yapıştır veya göndermek istediğin komutu yaz.

Burada klavye tuşlarını senin oluşturduğunu varsayıyorum.
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: universitelim54 - 23 Mayıs 2019, 23:21:04
Klavye nextion editorundekini kullanıyorum yani global. boyle yaparsam her hangi bir yere deger girdiğimdede n0 degerini  mcu ya gönderecektir. Bu arada printh n10.val dediğimde numaratordeki deger degilde uartta farklı ve sabit bir sayı basıyor. sayı  değişsede aynı sayıyı basıyor.probelem 2 :(
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: forsa1975 - 23 Mayıs 2019, 23:37:24
Sabit sayı dediğiniz hata mesajı olabilir mi? 

Bazı durumlarda hata mesajı veriyor ekran. Örnek; sayi isimli number penceresine   sati.val=15  diye bir komut gönderirseniz.

sati tanımlı değil diye bir hata mesaj kodu gönderir. 
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: universitelim54 - 23 Mayıs 2019, 23:53:48
n10.val=200 gibi sayi gonderdiğimde simulasyonda n10 komutu kabul ederek 200 degerını gosterıyor
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: Gediz1337 - 24 Mayıs 2019, 00:25:15
Alıntı yapılan: universitelim54 - 23 Mayıs 2019, 23:21:04Klavye nextion editorundekini kullanıyorum yani global. boyle yaparsam her hangi bir yere deger girdiğimdede n0 degerini  mcu ya gönderecektir.

Buna çözüm olarak şöyle yapabilirsiniz; değer girilen number/text nesnesinin release eventinde global bir değişkene bir değer verin, örneğin değişkenin adı sendOnKybrdOK olsun ve release eventiyle bu değişkenin değeri 1 olarak güncellensin. Ardından klavye sayfasındaki OK tuşunun release eventine gelip en sonda bulunan page loadpageid.val satırının hemen üzerine aşağıdaki gibi bir ekleme yapın

if(MainPage.sendOnKybrdOK.val==1)
{
  prints MainPage.inputNumber1.val,3
  MainPage.sendOnKybrdOK.val=0
}

Burada tahmin edebileceğiniz üzere;
inputNumber1: ilgili nesnenin adı
sendOnKybrdOK: kontrol değişkeninin adı
MainPage: nesnenin bulunduğu sayfanın adı

Anlattığım düzenlemeyi içeren basit bir proje oluşturup hata ayıklama modunda test ettim ve çalıştığını gördüm. Yine de ihtiyacınız olursa proje dosyasının linki: https://send.firefox.com/download/bf09300cf96b4be5/#mekOzRsdO0f30XPMwg9xxQ


Alıntı yapılan: universitelim54 - 23 Mayıs 2019, 23:21:04Bu arada printh n10.val dediğimde numaratordeki deger degilde uartta farklı ve sabit bir sayı basıyor. sayı  değişsede aynı sayıyı basıyor.probelem 2 :(

Printh çıktısını ya da mümkünse proje dosyasını paylaşabilirseniz yardımcı olmaya çalışırım.
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: universitelim54 - 24 Mayıs 2019, 00:52:08
Gediz1337 ustam verdıgın bılgı super tşk ederim tecrubenı palastıgın ıcın . yanlız sayıları tersten verıyor .
(https://i.ibb.co/s6bKkNd/1.png) (https://ibb.co/s6bKkNd)
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: Gediz1337 - 24 Mayıs 2019, 22:42:46
Alıntı yapılan: universitelim54 - 24 Mayıs 2019, 00:52:08Gediz1337 ustam verdıgın bılgı super tşk ederim tecrubenı palastıgın ıcın . yanlız sayıları tersten verıyor .
(https://i.ibb.co/s6bKkNd/1.png) (https://ibb.co/s6bKkNd)


Rica ederim. Sayılar ters değil bu arada, gayet kitabına uygun. Komut listesinde (https://nextion.itead.cc/resources/documents/instruction-set/) print için yapılan açıklama şu şekilde:

Alıntı yapılan: Instruction Set - Nextion– numeric value sent in 4 byte 32-bit little endian order
value = byte1+byte2*256+byte3*65536+byte4*16777216

Endianness little olduğu için ilk byte least significant. Buna göre hesaplamalısın.

Bu arada, değer ASCII gitsin istiyorsan şöyle yapabilirsin;

Klavyenin olduğu sayfaya dönüşüm işleminde tampon olarak kullanmak üzere bir değişken ekle. Ben adına bufConvert dedim. Değişken türü String olarak belirlenmeli. txt_maxl de azami uzunluk, ihtiyacına kalmış.

(https://i.ibb.co/CsmFb4v/buf-Convert.png)

OK tuşunun release eventine eklediğimiz kodu da aşağıdaki gibi düzenlersen print çıktısı resimdeki gibi olur.

if(MainPage.sendOnKybrdOK.val==1)
{
  covx MainPage.inputNumber1.val,bufConvert.txt,0,0
  print bufConvert.txt
  MainPage.sendOnKybrdOK.val=0
}

(https://i.ibb.co/pxgfGRB/Nextion-Print-ASCII.png)


Proje dosyası (https://send.firefox.com/download/ad2dd4f51cf22f77/#1oxEl6pgohKsjI0MqDSJTw)
Başlık: Ynt: Nextion ekranda Sayı girdikten sonra MCU ya gönderme
Gönderen: k0rkunc - 06 Ocak 2021, 00:24:49
hocam örnek projeleriniz indirilmiyor onurperinoglu@gmail.com dan iletirmisiniz rica etsm birde ben gönderme işini yaptıma am uzunluklar farklı olduğunda veri kayıyor onu nasıl çözerim rnekleriniz varsa lütfen benimle paylaşın