اطلاعیه

Collapse
No announcement yet.

دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #61
    پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

    نوشته اصلی توسط mehdi_nxp
    سلام.
    نکته ای رو لازم شد بگم.
    این تابع تصاویر رو در هر ابعادی نشون میده و این به این دلیله که به صورت پیکسل به پیکسل اصلاعات روی lcd انتقال داده میشه.
    دوستانی که قصد دارند تصاویر 240 * 320 رو روی lcd با سرعت بیشتری نشون بدن بهتره که از توابع انتقال بلوکی استفاده کنند.
    توی هدر lcd اگر توابع write_pic_fast رو یه نگاه بندازید متوجه روش برنامه نویسیش خواهید شد.
    با این روش سرعت 3 یا 4 برابر میشه.

    موفق باشید
    این تابع کار نمیکنه عکس رو درهم نشون میده

    برای خوندن از mmc برای این تابع باید چیکار کنم ؟؟

    unsigned short buf[76800];

    FILE *file;
    file = fopen (q,"r"
    if(file!=NULL){
    fread(buf,1,76800,file);
    }
    fclose (file);
    tftlcd_write_pic(0,0,buf);

    من اینجوری نوشتم ولی میکروهنگ میکنه تو این برنامه

    دیدگاه


      #62
      پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

      سلام
      من این تابع رو نوشتم تا یک عکس 16 بیت رو نشون بده ولی متاسفانه mirror (برعکس نشون میده )نشون میده.

      کد:
      bool lcd_show_pic_fast(int x , int y , char *imege)
      {
      	static char temp[8192];
      	static char res;
      	static int s1,i;
      	
      	sprintf(buf,"file open :%s",imege);
      	LCD_ShowString(0,0,buf);
      	
       LCD_WindowMax();
       LCD_SetCursor(0,0);
       LCD_CS(0)			 
       wr_cmd(0x22);
       wr_dat_start();
      	
      	res=f_open(&File1, imege, FA_OPEN_EXISTING | FA_READ);
      	f_lseek(&File1,70);
      	if(res == FR_OK)
      	{
      		do{
      		  res = f_read(&File1, temp, 8192, &s1);
      		  if( res == FR_OK)
      		  {
      			  for(i=0;i<s1;i+=2)
      			  {
      		  
            wr_dat_only(temp[i] | temp[i+1]<<8);
       			
      		  	}
      			
      			
      		  }else{LCD_ShowString(0,0,"file read ERR");delay_ms(500);}
      		 
      		 	
      	  
      		 }while(s1>8190);
      	 }else{LCD_ShowString(0,0,"file open ERR");delay_ms(500);}
      	f_close(&File1);
      		wr_dat_stop();
      	
      }
      داستان چیه؟
      باید چکار کنم؟
      انجام پروژه های برنامه نویسی اندروید
      [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
      http://cafebazaar.ir/app/?id=com.atxdroid

      دیدگاه


        #63
        پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

        نوشته اصلی توسط محسن فاریابی
        سلام
        من این تابع رو نوشتم تا یک عکس 16 بیت رو نشون بده ولی متاسفانه mirror (برعکس نشون میده )نشون میده.

        کد:
        bool lcd_show_pic_fast(int x , int y , char *imege)
        {
        	static char temp[8192];
        	static char res;
        	static int s1,i;
        	
        	sprintf(buf,"file open :%s",imege);
        	LCD_ShowString(0,0,buf);
        	
         LCD_WindowMax();
         LCD_SetCursor(0,0);
         LCD_CS(0)			 
         wr_cmd(0x22);
         wr_dat_start();
        	
        	res=f_open(&File1, imege, FA_OPEN_EXISTING | FA_READ);
        	f_lseek(&File1,70);
        	if(res == FR_OK)
        	{
        		do{
        		  res = f_read(&File1, temp, 8192, &s1);
        		  if( res == FR_OK)
        		  {
        			  for(i=0;i<s1;i+=2)
        			  {
        		  
              wr_dat_only(temp[i] | temp[i+1]<<8);
         			
        		  	}
        			
        			
        		  }else{LCD_ShowString(0,0,"file read ERR");delay_ms(500);}
        		 
        		 	
        	  
        		 }while(s1>8190);
        	 }else{LCD_ShowString(0,0,"file open ERR");delay_ms(500);}
        	f_close(&File1);
        		wr_dat_stop();
        	
        }
        داستان چیه؟
        باید چکار کنم؟

        مشکل بر عکس نشون دادن فک کنم از این هست
        TS_VAL_ENTRY_MOD مقدارش رو فک کنم باید بکنید 0x0010

        تابع شما رو اگه بخوام با rl_arm بنویسم باید چی کار کنم ؟؟

        من میخوام عکس 16 بیت 240*320 رو با lcd_show_fast نشون بدم ممنون میشم راهنمایی کنید

        دیدگاه


          #64
          پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

          نوشته اصلی توسط SMART-CARD

          مشکل بر عکس نشون دادن فک کنم از این هست
          TS_VAL_ENTRY_MOD مقدارش رو فک کنم باید بکینید 0x0010

          تابع شما رو اگه بخوام با rl_arm بنویسم باید چی کار کنم ؟؟

          من میخوام عکس 16 بیت 240*320 رو با lcd_show_fast نشون بدم ممنون میشم راهنمایی کنید
          من TS_VAL_ENTRY_MOD توی برنامه ام ندیدم!
          کدوم قسمت هست این؟

          منظورت رو از rl-arm نمیدونم! میشه بیشتر توضیح بدی؟
          انجام پروژه های برنامه نویسی اندروید
          [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
          http://cafebazaar.ir/app/?id=com.atxdroid

          دیدگاه


            #65
            پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

            نوشته اصلی توسط محسن فاریابی
            من TS_VAL_ENTRY_MOD توی برنامه ام ندیدم!
            کدوم قسمت هست این؟

            منظورت رو از rl-arm نمیدونم! میشه بیشتر توضیح بدی؟
            تو define های اول برنامه هست تو lcd.h

            منظورم تایعی که از کتابخونه Fat خود کیل استفاده شده باشه

            دیدگاه


              #66
              پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

              سلام.

              نوشته اصلی توسط saeidmo
              مهدی جان امیدوارم بعد امتحاناتتون دیکد jpeg رو هم شروع کنید :bye
              انشاالله
              نوشته اصلی توسط محسن فاریابی
              سلام
              من این تابع رو نوشتم تا یک عکس 16 بیت رو نشون بده ولی متاسفانه mirror (برعکس نشون میده )نشون میده.

              داستان چیه؟
              باید چکار کنم؟
              همون طور که دوستان فرمودند مشکل از entry mode هست.اما از اونجایی که هر این lcd چندان خوب نوشته نشده نمیشه تشخیص داد کدوم یکیش entry mode هست.
              رجوع کنید به دیتاشیت تا کامند مربوطه رو پیدا کنید.
              اونی که دوستمان اشاره کردند مربوط به lcd 2.8 میشه.
              نوشته اصلی توسط SMART-CARD
              این تابع کار نمیکنه عکس رو درهم نشون میده

              برای خوندن از mmc برای این تابع باید چیکار کنم ؟؟

              unsigned short buf[76800];

              FILE *file;
              file = fopen (q,"r"
              if(file!=NULL){
              fread(buf,1,76800,file);
              }
              fclose (file);
              tftlcd_write_pic(0,0,buf);

              من اینجوری نوشتم ولی میکروهنگ میکنه تو این برنامه
              رم lpc1768 کلا 64 کیلو بیشتر نیست و شما آرایه 153 کیلو بایتی معرفی کردید.خوب معلومه هنگ میکنه.
              شما باید وارد تابع LCD_write_pic_fast بشید اونجا اگه دقت کنید با یک حلقه for به تعداد پیکسل ها هربار 16 بیت میفرسه واسه lcd.
              شما باید 16 بیت از عکس بخونی و به عنوان ورودی تابع wr_dat_only قرار بدی.
              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

              دیدگاه


                #67
                پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                نوشته اصلی توسط mehdi_nxp

                شما باید 16 بیت از عکس بخونی و به عنوان ورودی تابع wr_dat_only قرار بدی.
                با fread چطور 16 بیت بخونم ؟
                چطور بفهمم دیتای هر پیکسل چقدره ؟
                تو او تابع lcd_fast از رو ارایه میخونه ولی با fread الان هر کاری میکنم نمیشه
                میشه راهنمایی کنید

                دیدگاه


                  #68
                  پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                  اگه ممکنه دیتا شیت ال سی دی رو برام بگزارید و یا ادرس دانلود بدهید!
                  انجام پروژه های برنامه نویسی اندروید
                  [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
                  http://cafebazaar.ir/app/?id=com.atxdroid

                  دیدگاه


                    #69
                    پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                    نوشته اصلی توسط محسن فاریابی
                    اگه ممکنه دیتا شیت ال سی دی رو برام بگزارید و یا ادرس دانلود بدهید!
                    سلام.
                    http://www.datasheetdir.com/SSD1289+download
                    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                    دیدگاه


                      #70
                      پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                      نوشته اصلی توسط mehdi_nxp
                      سلام.
                      نکته ای رو لازم شد بگم.
                      این تابع تصاویر رو در هر ابعادی نشون میده و این به این دلیله که به صورت پیکسل به پیکسل اصلاعات روی lcd انتقال داده میشه.
                      دوستانی که قصد دارند تصاویر 240 * 320 رو روی lcd با سرعت بیشتری نشون بدن بهتره که از توابع انتقال بلوکی استفاده کنند.
                      توی هدر lcd اگر توابع write_pic_fast رو یه نگاه بندازید متوجه روش برنامه نویسیش خواهید شد.
                      با این روش سرعت 3 یا 4 برابر میشه.

                      موفق باشید
                      ممنون مهدی جان چطوری این کار را انجام بدهیم یعنی یک ارایه درست کنیم بریزیم داخلش بعد یکدفعه مانندتوابع write_pic_fast از اون بخونیم؟؟
                      I'm Very Question and I have more Question,Please Answer All of my Questions


                      [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                      دیدگاه


                        #71
                        پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                        نوشته اصلی توسط very question
                        ممنون مهدی جان چطوری این کار را انجام بدهیم یعنی یک ارایه درست کنیم بریزیم داخلش بعد یکدفعه مانندتوابع write_pic_fast از اون بخونیم؟؟
                        سلام.
                        نه من منظورم اینجوریه:
                        کد:
                        void lcd_show_bmp(char *name){
                        	unsigned char info[70];
                        	unsigned int  i;
                        	int offset,color;
                        	FILE *f;
                         f = fopen (name,"r");
                        	if(f!=NULL){	
                        		fread(info,1,20,f);
                        		offset=(info[13]<<24)|(info[12]<<16)|(info[11]<<8)|(info[10]);
                        		fseek(f,offset,SEEK_SET); 
                        		LCD_WindowMax();
                        		LCD_SetCursor(0,0);
                        		LCD_CS(0)			 
                        		wr_cmd(0x22);
                        		wr_dat_start();
                        		for(i = 0; i < (WIDTH*HEIGHT); i++){
                        			color=fgetc(f);
                        			color|=fgetc(f)<<8;
                        			wr_dat_only(color);		
                        		}
                        		wr_dat_stop();
                        	}
                        	fclose (f);
                        }
                        تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                        دیدگاه


                          #72
                          پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                          ممنون مهدی جان اینظوری که من نوشتم درسته؟
                          کد:
                          void lcd_show_bmp2(char *name){
                          	unsigned char info[70];
                          	int offset,bpp,comp,color,r,g,b,a;
                          	int i;
                          	FILE *f;
                           f = fopen (name,"r");
                          	if(f!=NULL)
                          		{	
                          			fread(info,1,70,f);
                          			offset=(info[13]<<24)|(info[12]<<16)|(info[11]<<8)|(info[10]);
                          			bpp  =(info[29]<<8 )|(info[28]);
                          			comp =(info[33]<<24)|(info[32]<<16)|(info[31]<<8)|(info[30]);
                          			fseek(f,offset,SEEK_SET); 					
                          //*******************************************************************************			
                          			if(bpp==16)
                          			{
                          				if(comp==3)
                          				{
                          							LCD_WindowMax();
                          							LCD_SetCursor(0,0);
                          							LCD_CS(0)			 
                          							wr_cmd(0x22);
                          							wr_dat_start();
                          						for(i = 0; i < (WIDTH*HEIGHT); i++)	
                          						{	color=fgetc(f);
                          							color|=fgetc(f)<<8;
                          							r=color & ((info[57]<<24)|(info[56]<<16)|(info[55]<<8)|(info[54]));
                          							a=((info[61]<<24)|(info[60]<<16)|(info[59]<<8)|(info[58]));
                          							g=color & a;
                          							if(a<(32<<5)) {g=g<<1;r=r<<1;}
                          							b=color & ((info[65]<<24)|(info[64]<<16)|(info[63]<<8)|(info[62]));
                          							LCD_SetTextColor(r|g|b);
                          							wr_dat_only(TextColor);
                          						}
                          							wr_dat_stop(); 
                          				}
                          				if(comp==0)
                          				  {
                          							LCD_WindowMax();
                          							LCD_SetCursor(0,0);
                          							LCD_CS(0)			 
                          							wr_cmd(0x22);
                          							wr_dat_start();
                          						for(i = 0; i < (WIDTH*HEIGHT); i++)	
                          						{
                          							color=fgetc(f);
                          							color|=fgetc(f)<<8;
                          							LCD_SetTextColor(color);
                          							wr_dat_only(TextColor);
                          						}
                          							wr_dat_stop(); 
                          						
                          					}
                          				fclose (f);
                          			}
                          I'm Very Question and I have more Question,Please Answer All of my Questions


                          [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                          دیدگاه


                            #73
                            پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                            من عکس هایی که تبدیل می کنم در فورمت 16 بیتی هستش ولی هنگام دیباگ قسمت مربوط به 24 بیتی اجرا می شه ورنگهایم بهم می ریزه چی کار کنم؟؟؟ :eek:
                            I'm Very Question and I have more Question,Please Answer All of my Questions


                            [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                            دیدگاه


                              #74
                              پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                              نوشته اصلی توسط very question
                              من عکس هایی که تبدیل می کنم در فورمت 16 بیتی هستش ولی هنگام دیباگ قسمت مربوط به 24 بیتی اجرا می شه ورنگهایم بهم می ریزه چی کار کنم؟؟؟ :eek:
                              چی میگی؟محاله! oo:
                              عکسی رو که میگید بذارید تا ببینیم چشه.
                              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                              دیدگاه


                                #75
                                پاسخ : دیکد فرمت های تصویری و نمایش روی LCD 3.2 با LPC1768

                                نوشته اصلی توسط mehdi_nxp
                                چی میگی؟محاله! oo:
                                عکسی رو که میگید بذارید تا ببینیم چشه.
                                من عکس را با یک نرم افزاری تبدیل می کنم ولی وقتی با winhex بازش می کنم دو بایت مربوطه به جای اینکه 1000 باشند 1800 هستند :eek:
                                شما با چه نرم افزاری تبدیل می کنید؟
                                این هم یک نمونه عکس
                                http://s4.picofile.com/file/7758325050/rabit1.bmp
                                I'm Very Question and I have more Question,Please Answer All of my Questions


                                [img width=156 height=100]http://uploadtak.com/images/u3536_555_Timer_as_Astable.gif[/img]

                                دیدگاه

                                لطفا صبر کنید...
                                X