5 فایل پیوست
نمایش عکس از sd روی tft LCD با درایور SSD1963 در میکروlpc1768
با سلام
در این تایپیک قصد داریم در مورد نمایش تصویر روی TFTLCD 4.3 و 7 اینچ فروشگاه با استفاده از برد lpc1768 تبادل نظر کنیم
من یه توضیح به عنوان مقدمه بدهم:
ساده ترین راه برای راه اندازی [Dear Guest/Member you can't see link before replyclick here to register] و [Dear Guest/Member you can't see link before replyclick here to register] اینچ با lpc1768 ،
برد [Dear Guest/Member you can't see link before replyclick here to register] فروشگاه می باشد(البته با [Dear Guest/Member you can't see link before replyclick here to register] هم میشه که در [Dear Guest/Member you can't see link before replyclick here to register] بحث شده). در این حالت لازم است [Dear Guest/Member you can't see link before replyclick here to register]و [Dear Guest/Member you can't see link before replyclick here to register]اینچ :
[Dear Guest/Member you can't see link before replyclick here to register]
را نیز در اختیار داشته باشیم. به این ترتیب از جایی که بین خروجی پایه های برد wb و پایه های درایور LCD مطابقت کامل وجود دارد فقط کافی است درایور همراه lCD را روی برد wb قرار دهیم.
[Dear Guest/Member you can't see link before replyclick here to register]
حالا اومدیما یکی خواست با کمترین هزینه [Dear Guest/Member you can't see link before replyclick here to register] و [Dear Guest/Member you can't see link before replyclick here to register] اینچ را با lpc1768 راه اندازی کند! :mrgreen: اون موقع لازم است از یک هدر برد استفاده کند و خودش سیم بندی لازم را انجام دهد. می توان از [Dear Guest/Member you can't see link before replyclick here to register]با کمی سیم بندی استفاده کرد یا [Dear Guest/Member you can't see link before replyclick here to register]
[Dear Guest/Member you can't see link before replyclick here to register]
که در ضمیمه شکل ها آورده شده است
نکته ای که در این حالت وجود دارد این است که با برد وی بی ، دیتا را با 8 بیت میکرو به صورت 8 بیت به درایور ال سی دی ارسال می کنیم ، ولی در حالتی که خودمان با سیم بندی از هدر برد استفاده می کنیم از 16 پایه میکرو استفاده خواهیم کرد. بدین ترتیب اولین کاری که لازم است انجام شد این است که در برنامه ال سی دی تغییرات لازم را بدهیم. مورد دیگر اینکه بردهای که تغذیه انها با usb است جریان دهی لازم برای ساپورت این ال سی دی ها را ندارند. لذا بایستی از یک آداپتور 5 ولت برای تذیه برد و ال سی دی استفاده کرد. این کار نیز بسادگی انجام پذیر است. خیلی راحت میتونید از پین هدر سه پین کنار جمپر on/off استفاده کنید به اسم exp.:0013:
همراه برد وی بی سمپلی هست [48] LCD7_SD(7.0) (2012.11.13) که تصویر را از روی SD کارت دیکد کرده و نمایش می دهد. سه تصویر نمونه هم همراه این سمپل هست که این تصاویر را به خوبی نمایش می دهد
[Dear Guest/Member you can't see link before replyclick here to register]
مشکلی که در اینجا جود دارد این است که این سمپل فقط این تصاویر را خوب نمایش می دهد هر تصویر دیگری را که شما BMP کنید (16 بیت و 800*480) خوب نمایش نمی دهد! :baad:
در صورتی که نحوه دیکد کردن را عوض کنیم و از کدی که در سایت همسایه بود :
[PHP]void lcd_show_bmp(int x,int y,char *name){ unsigned char info[70]; int offset,width,height,bpp,comp,color,r,g,b; int counter_x, counter_y,a; 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]); width =(info[21]<<24)|(info[20]<<16)|(info[19]<<8)|(info[18]); height=(info[25]<<24)|(info[24]<<16)|(info[23]<<8)|(info[22]); 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==0){ LCD_WindowMax (0, 0,width, height); /* ʨ׃ࠚ */ LCD_WR_DATA_Prepare(); for(counter_y=y;counter_y <height+y;counter_y++){ for(counter_x =x;counter_x < width+x;counter_x++){ color=fgetc(f); color|=fgetc(f)<<8; wr_dat(color); } } } }
//************************************************** ***************** fclose (f); } }[/PHP]
استفاده شود انگار داره نقاشی نشون میده! :sa:فیلمش در ضمیمه هست.
این تجربیات من بود که خیلی مختصر گفتم. سایر دوستان روی این موضوع کاری انجام داده اند؟