Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: berkay_91 - 08 Şubat 2020, 22:17:12

Başlık: Nextion Ekrandan Veri Okuma
Gönderen: berkay_91 - 08 Şubat 2020, 22:17:12
Merhaba, Nextion dan Arduinoya 0 - 12500000 arasında sayılar gelecek ve okuma yapmam gerekiyor, ekranda gönderme bölümüne print z.val dersem 4 byte gönderiyor. Veri 255 veya daha küçükse mesela 128 için "80 00 00 00" 12500000 için "20 BC BE 00" gibi byte byte değerler gönderiyor... bunu arduinoda çözümlemek için kütüphanesi ile nasıl bir fonksiyon kullanmam gerekiyor?
Başlık: Ynt: Nextion Ekrandan Veri Okuma
Gönderen: mehmet - 08 Şubat 2020, 22:37:12
20 => 32  X 1
BC => 188 X 256
BE => 190 X 65536
     +----------------------
       12500000
Başlık: Ynt: Nextion Ekrandan Veri Okuma
Gönderen: Kabil ATICI - 08 Şubat 2020, 22:53:46
itead firmasının oluşturduğu Arudino kütüphaneyi kullan. Gerekli örnekleri ve belgeleri kütüphane içinde bulabilirsin.
Başlık: Ynt: Nextion Ekrandan Veri Okuma
Gönderen: berkay_91 - 11 Şubat 2020, 23:40:40
boolean knt = false;
byte data[12], j = 0;
unsigned long sayi = 0, v[3] = {1, 256, 65536};

void setup() {
  Serial.begin(9600);
}

void loop() {

  if (knt) {

    for (int i = 0; i < 3; i++)
      sayi += data[i] * v[i];

    knt = false;
    Serial.println(sayi);

    if (data[4] == 0)
      Serial.println("Sinus");
    else if (data[4] == 1)
      Serial.println("Kare");
    else if (data[4] == 2)
      Serial.println("Ucgen");
    else if (data[4] == 3)
      Serial.println("PWM");

    if (data[8] == 1)
      Serial.println("Sinyal Ac");
    else if (data[8] == 0)
      Serial.println("Sinyal Kapa");

    sayi = 0;
  }
}

void serialEvent() {

  j = 0;

  while (Serial.available()) {
    data[j++] = Serial.read();
    delay(5);
  }
  knt = true;
}


Bu program ile Nextion ekrandan arduinoya büyük veri göndermek isteyen arkadaşlar sağlıklı bir şekilde okuma yapabilirler