zzwwjj1981
驱动牛犊
驱动牛犊
  • 注册日期2007-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望16点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1243回复:3

求助:2410上在640x480,8bpp tft上wince显示问题

楼主#
更多 发布于:2007-11-08 10:54
       我将wince bsp中的s3c2410disp.cpp中的颜色深度改为了8;
   在setpalette函数中设置了256色调色板,网上很少有文章介绍这个调色板寄存器的使用(基地址为0X4D000400),我也不知道调色板的设置对不对,代码如下:
SCODE    S3C2410DISP::SetPalette(const PALETTEENTRY *source, USHORT firstEntry, USHORT numEntries)
{
    WORD *p;
    DWORD i;
    RETAILMSG(0, (TEXT("S3C2410DISP::SetPalette\r\n")));

    if (firstEntry < 0 || firstEntry + numEntries > 256 || source == NULL)
    {
        return    E_INVALIDARG;
    }
    
    PaletteMem = (WORD)VirtualAlloc(0, 512, MEM_RESERVE, PAGE_NOACCESS);
    if (PaletteMem == NULL)
        {
            RETAILMSG(0, (TEXT("S3C2410DISP::VirtualAlloc palette failed!!\r\n")));
            return 0;
        }
    else if (!VirtualCopy((PVOID)PaletteMem, (PVOID)PALETTE_BASE, 512, PAGE_READWRITE | PAGE_NOCACHE))
    {
        RETAILMSG(0, (TEXT("Palette is not mapped\n\r")));
        VirtualFree((PVOID)PaletteMem, 0, MEM_RELEASE);
        return 0;
    }
    p = (WORD *)PaletteMem;
    
    for(i=0;i<256;i++)
    {
        p = (source.peBlue) & 0x1f | ((source.peGreen) & 0x3f) << 5 | ((source.peRed) & 0x1f) << 11;//设置调色板寄存器
    }


    return    S_OK;
}
   在cfw.c文件中,将LCDCON1设置为TFT型/8位象素,将LCDSADDR2中的LCD_XSIZE_TFT*LCD_YSIZE_TFT*2改为LCD_XSIZE_TFT*LCD_YSIZE_TFT;但没有修改其他显示时序参数,不知对不对
  现在我把NK文件下到2410开发板上后,屏幕黑屏;我弄了N久了,麻烦各位大侠指点迷津
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-11-08 11:54
还有一个地方需要设置,cfw.c里对LCD控制器配置,行场同步信号的那几个参数,这个和你的特定LCD屏相关
zzwwjj1981
驱动牛犊
驱动牛犊
  • 注册日期2007-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望16点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-11-08 12:19
16bit与8bit显示的行同步这些信号不同吗?我的sharp屏的datasheet好像没有256色显示的参数
zzwwjj1981
驱动牛犊
驱动牛犊
  • 注册日期2007-08-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望16点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-11-08 12:22
  我bsp里面有这款屏在640x480 16bit模式下的驱动,并且能正常工作,所以我就没有改显示屏的时序
游客

返回顶部