با سلام خدمت دوستان:
مشکلی که من داشتم با تغییر رنگ backlight ال سی دی n96 با درایور ILI9325 می باشد، به طوری که با اجرای برنامه ای که در Mikroc Pro For ARM تمامی پیکسل ها تغییر می کنند، اما همان برنامه در keil تنها نصفه صفحه رنگ آمیزی می شود.
تابع Draw_BMP در برنامه کیل به این صورت می باشد:
البته با تغییر تابع:
به :
مشکلی حل نشد.
البته با دوبرابر کردن XPix و YPIX تمامی صفحه رنگ می شود، اما ورژن EMWIN این ال سی دی از این هم عجیب تر عمل می کند و با دو برابر شدن XPIX و YPIX مقدار رنگی در صفحه کمتر می گردد.
اطلاعات بیشتر در این باره در لینک زیر قرار دارد.
آیا نیاز هست با تابع:
مقدار X و Y در این تابع چند برابر بشه؟!
با تشکر.
مشکلی که من داشتم با تغییر رنگ backlight ال سی دی n96 با درایور ILI9325 می باشد، به طوری که با اجرای برنامه ای که در Mikroc Pro For ARM تمامی پیکسل ها تغییر می کنند، اما همان برنامه در keil تنها نصفه صفحه رنگ آمیزی می شود.
تابع Draw_BMP در برنامه کیل به این صورت می باشد:
کد:
void Draw_BMP(unsigned int x_pos, unsigned int y_pos, unsigned int H, unsigned int W, const unsigned char *bitmap) { unsigned long index = 0; unsigned long size = (W * H); //unsigned int *bitmap_ptr = (unsigned int*)bitmap; unsigned int *bitmap_ptr = (unsigned int*)bitmap; TFT_set_cursor(0,0); TFT_CS_pin = 0; TFT_set_display_window(x_pos, y_pos, (W - 1), (H - 1)); TFT_write_RAM_prepare(); //TFT_write_RAM_prepare(); for(index = 0; index < size; index++) { // TFT_write(*bitmap_ptr++, DAT); TFT_write(bitmap_ptr[index], DAT); } TFT_write_reg(0x0050, 0x0000); TFT_write_reg(0x0051, 0x00EF); TFT_write_reg(0x0052, 0x0000); TFT_write_reg(0x0053, 0x013F); }
کد:
TFT_write(*bitmap_ptr++, DAT);
کد:
TFT_write(bitmap_ptr[index], DAT);
البته با دوبرابر کردن XPix و YPIX تمامی صفحه رنگ می شود، اما ورژن EMWIN این ال سی دی از این هم عجیب تر عمل می کند و با دو برابر شدن XPIX و YPIX مقدار رنگی در صفحه کمتر می گردد.
اطلاعات بیشتر در این باره در لینک زیر قرار دارد.
آیا نیاز هست با تابع:
کد:
[LEFT] LCD_SetSizeEx (0, XSIZE_PHYS,YSIZE_PHYS(; [/LEFT]
با تشکر.