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?
20 => 32 X 1
BC => 188 X 256
BE => 190 X 65536
+----------------------
12500000
itead firmasının oluşturduğu Arudino kütüphaneyi kullan. Gerekli örnekleri ve belgeleri kütüphane içinde bulabilirsin.
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