Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: neccarzade - 18 Şubat 2019, 15:46:24

Başlık: Stm32 ve Nextion
Gönderen: neccarzade - 18 Şubat 2019, 15:46:24
Merhabalar,
STM32F407 mikrokontrolör ile nextion2.8" ekran üzerinden haberleşmek istiyorum. İnternet üzerinde kütüphane olarak arduino dışında kaynak bulamadım. Keil için hazır kütüphane yok sanırım. Display sürme konusunda yeni olduğum için kütüphanesini nasıl oluşturacağımı bilemedim. Nasıl bir yol izlemem gerektiğiyle alakalı yardımcı olabilen olursa çok memnun olurum.
sayg.
Başlık: Ynt: Stm32 ve Nextion
Gönderen: SB7 - 18 Şubat 2019, 18:14:39
Merhabalar.
Öncelikle UART haberleşmesini veri gönderme alma işlemlerini halletmelisiniz.Buları hallettikten sonrası kolay. Göndereceğiniz veri formatını nextionun sitesinden bulabilirsiniz. https://nextion.itead.cc/resources/documents/instruction-set/
Bu sitede yeterli olarak anlatım var. Veri gönderme fonksiyonlarını da anladıktan sonra geriye parça parça fonksiyon oluşturmak kalıyor (Text_gönder(), Grafik_ciz()... gibi ).

Text gönderme için bir örnek:


void Nextion_Send_Text(char *text_id, char *text)
{
  printf("%s",text_id);
 printf(".txt=");
 USART_Putc('"');
 printf("%s",text);
 USART_Putc('"');
 USART_Putc(0xFF);
 USART_Putc(0xFF);
 USART_Putc(0xFF);

veri göndermek için de bu şekilde fonksiyon çağırırsınız.

Nextion_Send_Text("t0",gönderilecektext);

Arduino için hazırlanmış çok güzel kütüphaneler var onlardan da işinize yarayan kısımları kendi kullandığınız ide'ye port edebilirsiniz.C kullanıyorsanız çok zor olmaz. Kolay gelsin.
Başlık: Ynt: Stm32 ve Nextion
Gönderen: neccarzade - 17 Eylül 2019, 22:03:58
Herkese selamlar,
Daha önce de buradan konuyla alakalı bir sorum olmuştu
stm32f4 işlemcisiyle nextion ekranıma 30 tane farklı veriyi göndermem gerekiyor. Örneğin;
HAL_UART_Transmit(&huart3,(uint8_t*)send,strlen(send),50);
sprintf(send,"A1.txt=\"%.2f%s",A_VAL[0],"\"\xFF\xFF\xFF");
şeklinde bir gönderme yaptığımda dataları ekranda tanımladığım yerlere yazdırabiliyorum. Bunun gibi 30'a yakın veri göndermem gerekiyor. while(1) içinde Tek tek aynı işlemi yaptığımda ekrana yazdırıyorum onda da sorun yok. Lakin başka işlemleri yapmam gerektiğinden böyle bir kod bloğuyla ilerlemek işimi görmüyor. Nasıl bir yol izlemem gerektiğine dair tecrübeli arkadaşlarımızdan yardımcı olabilecek olursa çok memnun olurum.
Başlık: Ynt: Stm32 ve Nextion
Gönderen: argelojik - 19 Eylül 2019, 08:48:31
Ekrana gönderirken bu fonksiyonu kullanabilirsin. void Nextion_Set_Text(char *object_name, char *buffer)
{
char buf[120] = { 0 };
char sps = 0xFF;
sprintf(buf, "%s.txt=\"%s\"%c%c%c", object_name, buffer, sps, sps, sps);
HAL_UART_Transmit(&huart3, (uint8_t*) &buf, strlen(buf), NextionTimeOutMs);
}
void Nextion_Set_Value(char *object_name, int32_t number)
{
char buf[30] = { 0 };
char sps = 0xFF;
sprintf(buf, "%s.val=%ld%c%c%c", object_name, number, sps, sps, sps);
HAL_UART_Transmit(&huart3, (uint8_t*) &buf, strlen(buf), NextionTimeOutMs);
}
Başlık: Ynt: Stm32 ve Nextion
Gönderen: SelmanFidan - 04 Ocak 2021, 14:55:10
Arkadaşlar Nextion ekran üzerinden STM'e analog veri nasıl gönderebiliriz ?
Başlık: Ynt: Stm32 ve Nextion
Gönderen: k0rkunc - 06 Ocak 2021, 00:17:37
peki text boxtaki veriyi nasıl alıcaz
Başlık: Ynt: Stm32 ve Nextion
Gönderen: aramgar - 17 Mayıs 2022, 19:35:51
Alıntı yapılan: argelojik - 19 Eylül 2019, 08:48:31Ekrana gönderirken bu fonksiyonu kullanabilirsin. void Nextion_Set_Text(char *object_name, char *buffer)
{
char buf[120] = { 0 };
char sps = 0xFF;
sprintf(buf, "%s.txt=\"%s\"%c%c%c", object_name, buffer, sps, sps, sps);
HAL_UART_Transmit(&huart3, (uint8_t*) &buf, strlen(buf), NextionTimeOutMs);
}
void Nextion_Set_Value(char *object_name, int32_t number)
{
char buf[30] = { 0 };
char sps = 0xFF;
sprintf(buf, "%s.val=%ld%c%c%c", object_name, number, sps, sps, sps);
HAL_UART_Transmit(&huart3, (uint8_t*) &buf, strlen(buf), NextionTimeOutMs);
}


Ekrana buton ekleyip, o butonla istediğimiz verileri ekrana yazdırabilir miyiz