Hi-tech C programında hata mesajının anlamı?

Başlatan thevenn, 19 Nisan 2007, 00:46:47

thevenn

: : Can' t fin 0x2B words (0x2B withtotal) for psect text3 in segment CODE (error)
Hi-tech C programında derleme yaparken boyle bir hata mesajı aldım bilen bir arkadaş varsa ne anlama geldiğini soyleyebilirmi_?

arslan74

Merhaba,

Kodunda "text3" nasıl tanıdığını ve nasıl kullandığını belirtmemişşin. Ayrıca hangi sürüm derleyici ve hangi PIC'i kullandığını belirtirsen cok daha iyi yardımcı olabiliriz.

Ona göre hatan daha ne ortaya cıkar.


Selamlar.

d_yol

Programın PIC hafıza sınırını aşmış.

thevenn

programda text3 diye bişey tanımlama geçmiyor. tetx3 ü nerden çıkardı anlamadım.  Pic olarak 16f84 kullanıyorum. Derleyici olarak Hitech V8.0 kullandım. D_yol arkadaşım pic hafıza sınırını aşmış demişsin. eğer oyle bir durum varsa bu sorunu nasıl aşabilirim. bir kitapta const  komutu kullanarak program belleğinde saklanabilir diyordu. buna benzer bişey yapılabilirmi.

programda aşağadaki animasyon fonksiyonundan dokuztane var ana programda bu animasyon fonksiyonu sıra ile çağrılıyor. prgram hafızası yetmeme gibi durum olabilirmi


animasyon_2()
{      

   // 2. animasyon tek srayla ledler yanacak
   for(l=0;l<=5;l++)  //tekrar says
      {
         
         
      for(k=0;k<68;k++)  //14
         {
         u4094_1_aktif=0;
         led=1;
            
         u4094_1_clock=0;
         u4094_1_data1=0;
         u4094_1_data2=0;
         u4094_1_data3=0;

         a=k/15;//MOD15
         a=k-a*15;//MOD15   
         if(k==0)   u4094_1_data1=1;//mavi led
         if(k==0)   u4094_1_data2=1;//krmz led            
         if(a==0)   u4094_1_data3=1;//orta desen ledleri
            
            
            
      //   DelayMs(250);
      //   DelayMs(250);
      //   DelayMs(250);
            

         u4094_1_clock=1;
         u4094_1_aktif=1;
         DelayMs(50);
         
            
         }
      }

   }

lamercik

öncelikle şunu belirteyim compilenin sana vermiş olduğu hata bellek hatasıdır. bunun çeşitli nedenleri olabilir. programını tam olarak görmediğim için sadece tahminler çerçevesinde sana cevap vermeye çalışacağım.
programında çeşitli değişkenler kullanmışsın a,k v.s...  bu değişkenlerin tipi nedir.  unsigned char yada  unsigned int gidi bir tanımlama yapmışsan bu değişkenler için bu hata ile karşılaşman gayet doğaldır.
çünkü a=k-a*15;//MOD15    a değişkeninin değeri bu fonksiyonda her zaman pozitif değildir. değişkenlerini yeniden gözden geçirip bir daha compile yaparsan mutlaka çözülecektir sorunun.

findux

benzer hata bende yaşamıştım 90 lık bir dizin tanımlamıştım hata verdi .bende denemek için diziyi 30 a düşürdüm hata oluşmadı