TEK DEĞİŞKEN İLE FARKLI RESİM BASMAK

Başlatan bulut_01, 13 Nisan 2013, 14:42:43

bulut_01

İYİ günler pic proje ailesi sorum tek değişken ile glcd farklı resimler basabilirmiyiz ? asagıdakı kodda 3434.c include ettiğim ıcınde 2 tane farklı resim var ilk önce 1.ci resmi basıyorum 10 sn sonra 2.ci resmi basıyorum bunun için ıkı farklı değişken kullanıyorum bu işi tek değişken kullanarak farklı resim basmanın yöntemi varmıdır.
3434.c içindeki "const unsigned char nokta[1024] " ve "const unsigned char resim[1024]  " tek değişken ile bu komutu cağırıp 10 sn arayla nasıl basarım ekrana ?

#include <18f1330.h> 
#fuses INTRC_IO,NOWDT,NOMCLR,H4
#use delay(clock=40M)
#use fast_io(a)
#use fast_io(b) 

#include <HDM64GS12.c> // HDM64GS12.c dosyası programa ekleniyor
#include <graphics.c>  // graphics.c dosyası programa ekleniyor
#include <3434.c>


/********* ANA PROGRAM FONKSİYONU********/
void byte_write (byte x ,byte y , byte veri)
{
     int1 sayfa;
     if(x > 63)  
    {
       x -= 64;
       sayfa=GLCD_RIGHT;;
    }
   else sayfa =GLCD_LEFT;
   output_low(GLCD_DI);                         
   bit_clear(x,7);                              
   bit_set(x,6);                                
   glcd_writeByte(sayfa, x);                     
   glcd_writeByte(sayfa, (y & 0xBF) | 0xB8);   
   output_high(GLCD_DI);                        
   glcd_writeByte(sayfa, veri);
}
void main ()
{
setup_power_pwm_pins(PWM_off,PWM_off,PWM_off,PWM_off);
setup_adc_ports(NO_ANALOGS); 
setup_adc( ADC_OFF );
setup_comparator(NC_NC_NC);

glcd_init(ON); 
 
 while(TRUE)
 {
unsigned int16 c ;

           while (c<1025 )
        {
        c++;
      byte_write (c%128 ,c/128 , nokta[c]);
       
      }
            delay_ms(1000);
            glcd_init(ON);
           
}
}
YENİLMEZ..

bulut_01

YENİLMEZ..

z

2048 uzunluğunda array tanımlayıp içine peşpeşe iki resimmi koymak istiyorsun?

Evetse bunu yapmana engel olan ne?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

trgtylcnky

Hocam ccs için ne olur bilemiyorum ama bu türde ve ri içeren bir .xmp dosyası var sanırım ve bu dosya genelde kütüphanelerce çağırılıp resim nesnesine dönüştürülüyor. Siz de öyle bir kütüphane bulabilirseniz x bitmap türünde dosyaları işleyebilirsiniz belki.

bulut_01

Alıntı yapılan: z - 14 Nisan 2013, 12:32:18
2048 uzunluğunda array tanımlayıp içine peşpeşe iki resimmi koymak istiyorsun?

Evetse bunu yapmana engel olan n e?
Bülent hocam amacım belli bir süreyle farklı resimler basmak sizin dediginiz sekilde nasıl olcak ? Algoritma üzerinde açıklarmısınız ?
YENİLMEZ..

z

Başlangıç adresi ve boy bilgileri içeren bir tablo oluşturursun.

0,1024
1024,1024

gibi.

İlk resimi okumak için tablodan baslangıc adresini 0, boy bilgisini okursun 1024 olarak öğrenirsin.

Verileri saklayan arrayden 0 dan itibaren 1024 veriyi okur ve kullanırsın.

Bitince bekleme rutinin çalışır.

2. resime geçtin. Başlangıç adresin 1024, boy da 1024 müş.

Gene aynı şekilde tablodan verileri okursun.

Soruyu ben mi yanlış anladım?


   
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

bulut_01

Main içindeki tek deişkenle bu dedigin nasıl olcak algoritma acıklarmısınız bulent hocam
YENİLMEZ..

striger

const unsigned char nokta[2048]


unsigned int16 c ;

         while (c<1023)
        {
          c++;
          byte_write (c%128 ,c/128 , nokta[c]);
        }
            delay_ms(1000);
            glcd_init(ON);
      
        for(c=1024;c<2048;c++)  
        {   
          byte_write (c%128 ,c/128 , nokta[c]);
        }
        delay_ms(1000);

bulut_01

İstedigim tam buydu eyw hocam saolasın
YENİLMEZ..

sadogan

tek toblodamı 2 resim var yaksa resim1 resim2 resim3 gibi her resim için farklı tablonmu var ?

bulut_01

Yukardaki main içindeki algoritmaya göre tek tablo resımler ıcınde 1024 bit ve katları yukleyerek resim seçiyosun
YENİLMEZ..