LCD坐标与数组不对应

2019-07-20 03:34发布

本帖最后由 ligongxiaobie 于 2019-2-24 17:30 编辑

如题,用的咱们最小的屏幕。9341
我用手里的F429的板子和TFTLCD例程进行测试,单独测试坐标发现LCD坐标与常规理解不太一致,这个问题不大,可以忽略。
测试坐标后,坐标如下图所示。(图片中开发板与实际不符,网络截图)


我的主要目的是自己建立一个u16data_buff[240][320],对其进行更改值,然后赋值到屏幕上。

第一个测试对第10列进行赋值,

  //第一种测试方法
  for( i= 0;i<240;i++)
  {
   data_buff[10]=0xffff;
  }
  LCD_Show_Image();
  while(1);

最终效果是这样的。明显不是一列,而且是虚线。

第二种方法是对第100行,第104行,第108行进行赋值,

  //第二种测试方法
  for(j = 0;j<320;j++)
  {
   data_buff[100][j]=0xffff;
  }
    for(j = 0;j<320;j++)
  {
   data_buff[104][j]=0xf800;
  }
    for(j = 0;j<320;j++)
  {
   data_buff[108][j]=0xffff;
  }
  
  LCD_Show_Image();
  while(1);

效果如下图所示,并不纯粹的直线。




第三种方法是xy均以10累加,到240320清零,

//第三种测试方法
while(1)
{
  chy +=10;
  chx+=10;
  LCD_Show_Image();
  if(chy>=320)
   chy = 0;
  if(chx>=240)
   chx = 0;
  data_buff[chx][chy] = 0XFFFF;
  LCD_Show_Image();
  delay_ms(1000);
}

可以看出明显效果不对,应该是临近的虚线排列,但是距离却很远。


具体测试代码已上传 ,请售后帮忙看一下,是我这种测试方法问题,还是其他问题,我的目的只是想我建立的数组与屏幕坐标能够正确对应就可以。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ligongxiaobie
1楼-- · 2019-07-20 09:18
 精彩回答 2  元偷偷看……
ligongxiaobie
2楼-- · 2019-07-20 10:41
注意第一种方法中代码是data_buff[i][10]=0xffff;,不是data_buff[10]=0xffff;,
编辑好几次,改不了。
edmund1234
3楼-- · 2019-07-20 13:32
 精彩回答 2  元偷偷看……
ligongxiaobie
4楼-- · 2019-07-20 18:49
 精彩回答 2  元偷偷看……
ligongxiaobie
5楼-- · 2019-07-21 00:25
edmund1234 发表于 2019-2-24 17:43
//第一种测试方法
  for( i= 0;i

[mw_shl_code=applescript,true]                //第一种测试方法
                for( i= 0;i<240;i++)
                {

                       
                        *((u16*)data_buff[10])=0xffff;
                }
                LCD_Show_Image();
                while(1);[/mw_shl_code]

应该是这个意思吧,屏幕没有显示,无任何效果
1208
6楼-- · 2019-07-21 02:11
帮顶!

一周热门 更多>