注册 登录
查看: 241|回复: 5

大液晶显示疑问

[复制链接]
发表于 2014-11-12 17:23:20 | 显示全部楼层 |阅读模式
直接在“flexbus_8080_TFT”  这个例程里修改的
  uint16 i,j;

    for(j=0;j<255;j++)
    {
      for(i=20;i<30;i++)
       LCD_point(i,j,BLUE);

    }
j是竖着的,j从0加到255是很正常的

从256加到320蓝线就跑到上面去了

(嗯,可能255也不是分界点,不过应该在这个数附近,人眼观察不出来太细小的差别)
为什么不能跑到最下面?
分辨率不是320*240吗?
竖着应该是能显示320个点的吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-11-12 17:26:34 | 显示全部楼层
建议你先单步调试,一行行显示,看看情况吧。这样一堆现象,别人没调试过,不好确定问题。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-12 17:47:03 | 显示全部楼层
仰逸致 发表于 2014-11-12 17:26
建议你先单步调试,一行行显示,看看情况吧。这样一堆现象,别人没调试过,不好确定问题。

    for(j=0;j<320;j++)
    {
      for(i=20;i<30;i++)
      {
        if(j>256)

        LCD_point(i,j,GREEN);
        else
          LCD_point(i,j,BLUE);
      }
    }

让大于256的点显示绿色,点IAR调试上的Next Statement,然后,发现果然是先逐渐向下变蓝,再从最上面逐渐向下变绿

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-11-12 17:48:25 | 显示全部楼层

可能是山外哥画点函数有bug吧,你跳进去里面,研究一下里面的代码。

是不是有个变量,应该定义 uint16的,但写成了 uint8
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-12 17:53:28 | 显示全部楼层
仰逸致 发表于 2014-11-12 17:48
可能是山外哥画点函数有bug吧,你跳进去里面,研究一下里面的代码。

是不是有个变量,应该定义 uint16 ...

兄台果然厉害,接口函数void LCD_point(uint8x,uint8 y,uint16 rgb565)。改成uint16就没问题了
回复 支持 反对

使用道具 举报

发表于 2014-11-12 17:57:00 | 显示全部楼层
小焓焓 发表于 2014-11-12 17:53
兄台果然厉害,接口函数void LCD_point(uint8x,uint8 y,uint16 rgb565)。改成uint16就没问题了

液晶代码,原先仅仅支持1.44寸液晶,后面拓展了大液晶,估计没改回来吧。

话说,现在的版本不是用  Site_t 作为地址类型的吗?貌似你用的是比较旧的版本。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部