Merhaba,
warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
nokia 5110 lcd denemesi yapmaya çalışıyorum hazır programlardan indirdim sadece ekranı aktif etmek için ama hepsindede yukarıdaki hatayı alıyorum .
#include <LCD5110_Basic.h>
extern uint8_t SmallFont[];
LCD5110 myGLCD(8, 9, 10, 11, 12); // CD pinlerinin hangi Arduino pinlerine bağlı olduğunu belirtiyoruz
extern uint8_t arduino5110[]; // Eklemek istediğimiz resimi belirttik
void setup()
{
pinMode(7, OUTPUT); // LCD ekranın arkaplan aydınlatmasına giden pini çıkış olarak ayarlıyoruz
digitalWrite(7, HIGH); // Ekrana aydınlatıldı
myGLCD.InitLCD(); // Ekranı başlatıldı
myGLCD.setContrast(70); //0 ila 127 arası bir değer verilebilir
}
void loop()
{
myGLCD.clrScr(); //Ekranı temizliyoruz.
myGLCD.drawBitmap(0, 0, arduino5110, 84, 48); //Resmi çizildi.
delay(1000); //1 sn bekle
myGLCD.clrScr(); //Ekranı temizliyoruz
myGLCD.setFont(SmallFont);
myGLCD.print("TEMRINLERIM", CENTER, 12);
myGLCD.print(".ORG", CENTER, 18);
myGLCD.print("05443420138", CENTER, 36);
delay(1000); // 1 sn bekle
}
#include <avr/pgmspace.h>
const unsigned char arduino5110 [] PROGMEM={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0,
0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0xFC, 0xFE, 0xFF, 0x3F, 0x1F, 0x0F, 0x0F, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1F, 0x1F, 0x3F, 0x7F, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xF0,
0xF8, 0xFC, 0xFE, 0xFF, 0x3F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 0x87, 0xC7, 0xC7, 0x87, 0x07, 0x07,
0x0F, 0x0F, 0x1F, 0x3F, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x80, 0x00, 0x00,
0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE1, 0xFB,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x7F, 0x7F,
0x7F, 0x7F, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x1F,
0x1F, 0x3F, 0x7F, 0x7E, 0x7C, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x7E, 0x3F,
0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x7E, 0x7E,
0x7C, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, 0x7F, 0x3F, 0x1F, 0x1F, 0x0F, 0x07,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xE0, 0x60, 0xE0, 0x80, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00,
0x00, 0xE0, 0xE0, 0x20, 0x20, 0x60, 0xC0, 0x80, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0,
0xE0, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00,
0x80, 0xC0, 0x60, 0x20, 0x20, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x7C, 0x1F, 0x13, 0x10, 0x13, 0x1F, 0x7C, 0x60, 0x00, 0x7F, 0x7F, 0x04, 0x04,
0x0C, 0x3F, 0x73, 0x40, 0x00, 0x7F, 0x7F, 0x40, 0x40, 0x60, 0x3F, 0x1F, 0x00, 0x00, 0x3F, 0x7F,
0x40, 0x40, 0x40, 0x7F, 0x3F, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F, 0x01, 0x07, 0x1C,
0x7F, 0x7F, 0x00, 0x00, 0x1F, 0x3F, 0x60, 0x40, 0x40, 0x60, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
Programın sana bozuk atması normal.
extern uint8_t arduino5110[]; // Eklemek istediğimiz resimi belirttik
[/size]burada uint8_t olarak çağırıyorsun
[/size]ama kütüphanende
[/size]const unsigned char arduino5110 [] PROGMEM={ ....
[/size]olarak veriyorsun.
[/size]
[/size]en azından
[/size]const uint8_t arduino5110 [] PROGMEM={ ....
[/size]olarak vermiş olman gerekir.
[/size]Çünkü fonksiyon içinde belirli bir değişken formatı için kullanımı var.
Bu internetten hazır bulduğum bir kod, arduino kullanmıyorum biraz daha açıklayıcı bilgi verirmisiniz Kabil ATICI
Const olunca progmem kısmına gerek
olacak mı?
const mesela 2sn görünüp sonra program kısmında işlem yapabilmeliyim
Belirttiğim gibi kütüphaneyi incele;
myGLCD.drawBitmap(0, 0, arduino5110, 84, 48)
fonksiyonundan
const unsigned char arduino5110 [] verilerini nasıl alıyor?
burada senin programın başında
extern uint8_t arduino5110[];
şeklinde olacağını belirtmiş, senin kullandığın program bunu nasıl işliyor. Farklı veri tiplerinden dönüşümler bazı durumlarda sıkıntı olabiliyor. Arduino help dosyalarını inceleyebilirsin.
Bu arada Mehmet beyin belirttiği
PROGMEM yeni arduino program sürümlerinde kullanılmıyor, sanırım kütüphaneleri içine gömülmüş. Aynı şekilde
#include <avr/pgmspace.h> ifadesi de kullanılmıyor.
Biliyorsun Const sadece okunabilir veri tipine ifade ediyor. Dolayısı ile işlemcinin bunu okuma hızı hali ile program işleme hızı ile aynıdır.
Arduino kullanmıyorsun, kullanmıyorsun, bilemem ama konu başlığın öyle diyor.