Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Lcd Kullanımı

Başlatan PICaso, 30 Ekim 2019, 16:30:51

PICaso

Arkadaşlar merhaba,

2*16 lcd de "%" karakterini kullanamıyorum. Program sorunsuz şekilde derleniyor. Yüzde ifadesini nasıl kullanabilirim?
 
sprintf(s, "Motor Hiz=% %d " ,deger );




Tagli

Ekranda gözükmesini istediğin % karakterinin başına \ koymayı dene, \% şeklinde.
Gökçe Tağlıoğlu

PICaso


PICaso






%% kullanıldığında ekrana 1 tane % yazıyor.

RaMu

\'%' veya \x25 
olması lazım,
x25 demek % işaretinin ASCII hexadecimal karşılığı,
\ ise kaçış karakteri.

sprintf(s, "Motor Hiz=\x25 %d " ,deger );
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

PICaso

Alıntı yapılan: RaMu - 30 Ekim 2019, 20:02:09\'%' veya \x25 
olması lazım,
x25 demek % işaretinin ASCII hexadecimal karşılığı,
\ ise kaçış karakteri.

sprintf(s, "Motor Hiz=\x25 %d " ,deger );

Dediğiniz şekilde düzenledim olmadı.


RaMu

sprintf(s, "Motor Hiz=\x25" "%d" ,deger );
veya
sprintf(s, "Motor Hiz=\045 %d" ,deger ); 
//0 ile başlıyor sayı yani Octal (Octal 045 = Ascii %)
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

PICaso

#7
Alıntı yapılan: RaMu - 31 Ekim 2019, 09:27:11
sprintf(s, "Motor Hiz=\x25" "%d" ,deger );
veya
sprintf(s, "Motor Hiz=\045 %d" ,deger ); 
//0 ile başlıyor sayı yani Octal (Octal 045 = Ascii %)

Ayrı ayrı iki kodu da denedim. Sonuç olumsuz.
sprintf(s, "Motor Hiz=%%%d " ,deger );
Bu şekilde yazdığım da çalıştı.

Tagli

İlginç, bunca zamandır yanlış biliyormuşum. İnternette araştırdım, printf içinde % basmak için geçerli yöntem %% şeklinde kullanmak imiş. Başka yöntem aramaya gerek yok. \% şeklide bir escape sequence de yokmuş zaten.

Kaynak: http://www.cplusplus.com/reference/cstdio/printf/
Gökçe Tağlıoğlu