CCS de şöyle bir fonksiyon ile karakterleri alıp teker teker 2x16 ekrana basıyorum (karakterler USB den geliyor)
if(text == 'd')
{
for(x = 3; x <= count; x++)
{
printf(lcd_putc,"%c",gelen_paket[x]);
}
}
gelen her karateri bir diziye sırayla alıp daha sonra bunu tek bir şekilde basacağım ama nasıl olacağını tam kestiremedimBir bakarsanız sevinirim kolay gelsin.
Gelen karakterleri bir diziye ekle, karakterler bitince, en sona 0 (null) değerini ekle. Artık bir C tipi string elde etmiş olursun.
Hocam şöyle bir şey denedim ama olmadı karışık şeyler gözüktü ekranda
void LcdOperations(char text)
{
char time[10];
if(text == 'c')
{
for(x = 3; x <= count; x++)
{
time[x] = gelen_paket[x];
}
time[count + 1] = '\0';
Oled_ConstText(time, 0, 4);
}
if(text == 'd')
{
Oled_FillScreen(0x00);
Info();
}
}
time[y]
olsun ve y değişkeni sıfırdan başlasın.
en son
time[y+1] = 0
yapın.
şöyle yaptım ama şimdide ekranda tek bir anlamsız karakter çıkıyor
void LcdOperations(char text)
{
unsigned int y = 0;
char time[];
if(text == 'c')
{
for(x = 3; x <= count; x++)
{
time[y] = gelen_paket[x];
y++;
}
time[y + 1] = 0;
Oled_ConstText(time, 0, 4);
}
if(text == 'd')
{
Oled_FillScreen(0x00);
Info();
}
}
time[y + 1] = 0;
bunu şöyle yaz, çünkü y++ çalışıyor zaten.
time[y ] = 0;
Yine aynı ???
Gelen_paket içeriğinden eminmisin. Başka problem kaynağı gözükmüyor.
Gelen_paket içine bildiğin bir içerik kopyala ve dene.
hocam programın başlangıcına şöyle bir şey yapıyorum fakat yine karışık şeyler gözüküyor ekranda anlamsız bir harf de değil
unsigned int y = 0;
char time[10];
gelen_paket[3] = 'a';
gelen_paket[4] = 'b';
gelen_paket[5] = 'c';
gelen_paket[6] = 'd';
for(x = 3; x < 7; x++)
{
time[y] = gelen_paket[x];
y++;
}
time[y] = 0;
Oled_ConstText(time, 0, 4);
Oled_ConstText(time, 0, 4);
Bu fonksiyonu iyice denedin mi?
Bir tek o kalıyor.
evet calıyor onda hıc bır problem yok hocam
Bende fikir bitti. :)
Kurcalayayım biraz alakasız bir yerde hata yapıyorum sanrım teşekkürler :)
teamviewer ile bağlan bakalım.
Gökhan ağabey çözdü sağ olsun.
Kütüphanede fonksiyonun buffer değeri rom tanımlanmış bu yüzden değişken kullanamadım.Normal tanımlama ile çözüldü.
Neyse kaçtım ben bir süre yokum görüşmek üzere. :)
Onunda çözümü var.