各位好,
本人现将WEC7移植到了AM335X EVM上,默认是横屏800*480,我希望得到竖屏,网上看到很多这样的文章:
http://blog.csdn.net/nanjianhui/article/details/2569959
决定先看看注册表,
发现[HKEY_LOCAL_MACHINE\System\GDI\ROTATION]这项被注释掉了,也就是说第三方提供的BSP不支持,
在应用程序使用DevMode进行旋屏设置的方法也不行,ChangeDisplaySettingsEx()函数返回了DISP_CHANGE_BADMODE。
第三方提供的显示器驱动注册表:
第一段注释说"SurfaceMgr"只能为0,即只支持flat surface manager,不支持VRFB surface manager。
第二段注释说flat surface manager不支持旋屏,因为这样会导致溢出,我试了下,把"Angle"改成了1,结果果然得到了我不想要的结果,图形界面的方向没变,只是把Height和Width做了个对换:
我的目标是支持4.3'的480*272分辨率竖屏LCD显示,所以找到底层代码,看看能不能通过该分辨率实现:
struct lcd_panel panel_tfc_s9700 = {
LCDC_PANEL_TFT | LCDC_INV_VSYNC | LCDC_INV_HSYNC |
LCDC_HSVS_CONTROL, // config
DISPC_PIXELFORMAT_ARGB32, // bpp
800, // x_res
480, // y_res
30000000, // pixel_clock
47, // hsw
39, // hfp
39, // hbp
2, // vsw
13, // vfb
29, // vbp
0, // acb (????)
0, // mono_8bit_mode
0, // tft_alt_mode
COLOR_ACTIVE, //panel_shade
LCDC_panel_TFC_S9700RTWV35TR_init // init
};
将x_res ,y_res分别改为272、480,重新生成、部署镜像后发现屏幕出现了横向的条带,什么都看不清。
我去TI的WinCE论坛上看,也有人提出是因为AM335x的BSP不支持vrfb的原因,但没找到有什么实现竖屏的办法,所以想请各位大神帮忙,先不管分辨率的问题,看看还有什么办法能帮我实现90度旋屏,谢谢!