Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

değişken boyutu sorunu

Başlatan f628, 23 Aralık 2012, 21:55:50

f628

iyi akşamlar arkadaşlar, 18f452de çalıştırdığım devreyi 16f877de çalıştırmak istiyorum lakin değişken fazla büyük diye hata verdiği için derleyemiyorum, acaba nasıl halledebilirim bu sorunu???

değişken;

const int8 image_2[64][16] = {

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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0xE0,0x07,0xF8,0x7F,0xFF,0xFE,0x0F,0xE0,0xFF,0x80,0x80,0x7F,0x80,0x1F,0xE0,
0x3F,0xF0,0x0F,0xF8,0x7F,0xFF,0xFE,0x1F,0xE0,0xFF,0x80,0xC0,0xFF,0xC0,0x3F,0xF0,
0x3F,0xF0,0x0F,0xFC,0x7F,0xFF,0xFF,0x3F,0xF0,0xFF,0x83,0xE0,0xFF,0xC0,0x3F,0xF0,
0x3F,0xF0,0x0F,0xFC,0x7F,0xFF,0xFF,0x3F,0xF1,0xFF,0x83,0xE0,0xFF,0xC0,0x3F,0xF0,
0x3F,0xF8,0x0F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF1,0xFF,0x83,0xF0,0xFF,0xE0,0x7F,0xF0,
0x3F,0xF8,0x1F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF1,0xFF,0x83,0xF0,0xFF,0xE0,0x7F,0xF0,
0x3F,0xF8,0x1F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF3,0xFF,0x07,0x38,0xFF,0xE0,0x7F,0xF0,
0x3F,0xF8,0x1F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF3,0xFF,0x07,0x70,0xFF,0xE0,0x7F,0xF0,
0x3F,0xFC,0x3F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF7,0xFF,0x03,0xF0,0xFF,0xF0,0xFF,0xF0,
0x3F,0xFC,0x3F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF7,0xFF,0x03,0xF0,0xFF,0xF0,0xFF,0xF0,
0x3F,0xFC,0x3F,0xFC,0xFF,0xFF,0xFF,0x3F,0xF7,0xFE,0x03,0xF0,0xFF,0xF0,0xFF,0xF0,
0x3F,0xFC,0x3F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xFE,0x02,0xE0,0xFF,0xF9,0xFF,0xF0,
0x3F,0xFE,0x7F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xFE,0x00,0xC0,0xFF,0xF9,0xFF,0xF0,
0x3F,0xFE,0x7F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xFC,0x00,0x80,0xFF,0xF9,0xFF,0xF0,
0x3F,0xFE,0x7F,0xFC,0xFF,0xC3,0xFF,0x3F,0xFF,0xFC,0x00,0x80,0xFF,0xF9,0xFF,0xF0,
0x3F,0xFE,0x7F,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x07,0xF8,0xFF,0xFD,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x07,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x00,0x00,0x03,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0x00,0x00,0x00,
0x00,0x00,0x03,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0x00,0x00,0x00,
0x00,0x00,0x03,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xF0,0x0F,0xF8,0xFF,0x00,0x00,0x00,
0x00,0x00,0x07,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xF0,0x0F,0xF8,0xFF,0x80,0x00,0x00,
0x00,0x00,0x07,0xFC,0xFF,0xC3,0xFF,0x3F,0xFF,0xF0,0x0F,0xF8,0xFF,0x80,0x00,0x00,
0x3F,0xFF,0x8F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xE0,0x0F,0xF8,0xFF,0xC7,0xFF,0xF0,
0x3F,0xFF,0x0F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xE0,0x0F,0xF8,0xFF,0xC3,0xFF,0xF0,
0x3F,0xFF,0x1F,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xE0,0x0F,0xFC,0xFF,0xE3,0xFF,0xF0,
0x3F,0xFE,0x1F,0xFC,0x7F,0xFF,0xFF,0x1F,0xFF,0xE0,0x0F,0xF8,0xFF,0xE1,0xFF,0xF0,
0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xF0,
0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,
0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,
0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF0,
0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xF0,
0x3F,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0x1F,0xFF,0xF0,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xF0,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xF0,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC3,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC3,0xFF,0x3F,0xFF,0xF8,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFC,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xFF,0xFF,0xFC,0xFF,0xC1,0xFF,0x3F,0xFF,0xFE,0x0F,0xF8,0xFF,0xFF,0xFF,0xF0,
0x3F,0xEF,0xF7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF7,0xFE,0x0F,0xF8,0xFF,0xBF,0xDF,0xF0,
0x3F,0xE7,0xE7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF7,0xFE,0x0F,0xF8,0xFF,0x9F,0x9F,0xF0,
0x3F,0xE7,0xE7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF7,0xFF,0x0F,0xF8,0xFF,0x9F,0x9F,0xF0,
0x3F,0xE7,0xE7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF3,0xFF,0x0F,0xF8,0xFF,0x9F,0x9F,0xF0,
0x3F,0xE3,0xC7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF3,0xFF,0x0F,0xF8,0xFF,0x8F,0x1F,0xF0,
0x3F,0xE3,0xC7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF3,0xFF,0x8F,0xF8,0xFF,0x8F,0x1F,0xF0,
0x3F,0xE3,0xC7,0xFC,0xFF,0xC1,0xFF,0x3F,0xF1,0xFF,0x8F,0xF8,0xFF,0x8F,0x1F,0xF0,
0x3F,0xE1,0x87,0xFC,0xFF,0xC1,0xFF,0x3F,0xF1,0xFF,0x8F,0xF8,0xFF,0x86,0x1F,0xF0,
0x3F,0xE1,0x87,0xFC,0xFF,0xC1,0xFF,0x1F,0xF1,0xFF,0xCF,0xF8,0xFF,0x86,0x1F,0xF0,
0x3F,0xE0,0x07,0xFC,0x7F,0x81,0xFF,0x1F,0xF0,0xFF,0x87,0xF8,0xFF,0x80,0x1F,0xF0,
0x1F,0xC0,0x07,0xF8,0x7F,0x81,0xFE,0x1F,0xE0,0xFF,0x87,0xF8,0x7F,0x00,0x1F,0xE0,
0x1F,0xC0,0x03,0xF8,0x7F,0x81,0xFE,0x1F,0xE0,0xFF,0x87,0xF8,0x7F,0x00,0x0F,0xE0,
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,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
};

eistain_54

Evternal hafızaya yönelinebilir.Eeprom gibi...
Her gün 24 altın verilirken bunun için kime şükredersin ey ademoğlu!?!

f628

#2
o nasıl yapılıyor hocam biraz açabilir misin acaba???

Tagli

EEPROM'a da RAM'e de sığmaz, mümkün değil. Program hafızasına gömülebileceğini sanıyorum.
Gökçe Tağlıoğlu

AsHeS

Alıntı yapılan: Tagli - 23 Aralık 2012, 22:13:21
EEPROM'a da RAM'e de sığmaz, mümkün değil. Program hafızasına gömülebileceğini sanıyorum.
const tanımladığı için direkt program hafızasına gömülüyor mu zaten ?

Tagli

Derleyicisine göre değişir. C18 ve XC8'de o şekilde oluyor. CCS C'yi bilmiyorum.
Gökçe Tağlıoğlu

f628

Evternal hafıza yada yazılıma gömmeyi araştırmama karşın düzgün bir bilgi bulamadım :/ protonda ki gibi değişkeni başka bir yere kaydedip yazılımın içinde çağırmak mı kast ediliyor programa gömmek derken?

AsHeS

Alıntı yapılan: Tagli - 23 Aralık 2012, 22:21:14
Derleyicisine göre değişir. C18 ve XC8'de o şekilde oluyor. CCS C'yi bilmiyorum.
XC8 ve Hi-Tech de öyle olduğuna göre CCS ye göre de öyledir herhalde diye düşündüm.

Tagli

Burada yazdığına göre CCS C'de de mantık aynıymış.

Derleyicinin verdiği hata tam olarak nedir?
Diziyi tek boyutlu olarak tanımladığında da hata veriyor mu?
Diziyi küçülterek tanımladığında - mesela yarı boyutundayken - hata veriyor mu?
Dizi tanımlı değilken, programın kendisi ne kadar yer kaplıyor?
Gökçe Tağlıoğlu

sadogan

ccs  const tanımlandıgı için  program hafızasına gömüyor
tabloyu 255 byte uzunlugunu gecmeyecek şekilde düzenleyip denermisiniz

mozkan87

CCS C için bir şey diyemem ama hitech bu kodu derler daha önce grafik lcd ile uğraşırken aynı diziyi hem iki boyutlu olarak tanımladım hem tek boyutlu olarak tanımlayıp derledim sorun olmuyordu.

f628

#11
''data item too big'' ve ''expecting a declaration'' hatası veriyor.

eğer diziyi const int8 image_2 [16][16] yaparsam derliyor.

Tagli

gerbay hocam, senin dediğinin aksini söylerken insan kendinden emin olamıyor ama, benim bildiğim kadarıyla int degisken[2][2] = {1,2,3,4}; gibi bir tanım C söz dizimine uygun.
Gökçe Tağlıoğlu

f628

evet 18f452'de derlediğine eminim. hiç zorlanmadan derliyor.

sadogan

Alıntı yapılan: f628 - 23 Aralık 2012, 22:58:17
''data item too big'' ve ''expecting a declaration'' hatası veriyor.

eğer diziyi const int8 image_2 [16][16] yaparsam derliyor.
Tabloyu 16*16  veya 64*4  şeklinde 4 parcaya bölerek yapman gerekebilir.