OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7271|回复: 5

LCD 240*320显示屏驱动芯片为ILI9341不能显示字符问题

[复制链接]

5

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2012-8-11
在线时间
31 小时
发表于 2015-7-18 22:06:53 | 显示全部楼层 |阅读模式
5金钱
大伙帮我看看为什么,LCD屏用的是spi总线控制,单片机用的是msp430fr5969,程序屏刷颜色是OK的,也就是屏初始化、写数据,写命令是没问题的所以程序这三部分补贴出来,现在是不能画线,和显示字符。显示字符的先不用理会,先解决画点问题先,求解!

/*************************************************
函数名:LCD_SetRegion
功能:设置lcd显示区域,在此区域写点数据自动换行
入口参数:xy起点和终点,Y_IncMode表示先自增y再自增x
返回值:无
*************************************************/
void Lcd_SetRegion(uint16_t x_start,uint16_t y_start,uint16_t x_end,uint16_t y_end)
{
  LCD_CS_LOW;
  LCD_WriteIndex(0x2a);
  LCD_WriteData16Bit(x_start>>8,x_start);
  LCD_WriteData16Bit(x_end>>8,x_end);
  LCD_WriteIndex(0x2b);
  LCD_WriteData16Bit(y_start>>8,y_start);
  LCD_WriteData16Bit(y_end>>8,y_end);
  LCD_WriteIndex(0x2c);
  LCD_CS_HIGH;

}
void Lcd_Clear(uint16_t Color)  //清屏,刷屏             
{
  unsigned int i,m;

  Lcd_SetRegion(0,0,X_MAX_PIXEL-1,Y_MAX_PIXEL-1);

  LCD_RS_DC_HIGH;
  LCD_CS_LOW;
  for(i=0;i<Y_MAX_PIXEL;i++)
  {
    for(m=0;m<X_MAX_PIXEL;m++)
    {  
      LCD_WriteData(Color>>8);
      LCD_WriteData(Color);
    }   
  }
  LCD_CS_HIGH;
}
上面这两个函数是没问题的,颜色刷屏测试可以
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//函数功能:设置光标位置
void LCD_SetCursor(unsigned int x,unsigned int y)
{
  unsigned int xpos,ypos;
   // xpos = 239 - x;
    xpos =  x;
        
    ypos = y;
    
        LCD_WriteIndex(0x2A);
        LCD_WriteData16Bit(xpos>>8,xpos);   
        LCD_WriteIndex(0x2B);
        LCD_WriteData16Bit(ypos>>8,ypos);
        LCD_WriteIndex(0x2c);
}

//函数功能:在指定位置画点
void LCD_DrawPoint(unsigned int x,unsigned int y,unsigned int Color)
{
      LCD_SetCursor(x,y);
      LCD_WriteData16Bit(Color>>8,Color);

}
//函数功能:画线
void LCD_DrawLine(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int Color)
{
  unsigned int t; 
  int xerr=0,yerr=0,delta_x,delta_y,distance; 
  int incx,incy,uRow,uCol; 

  delta_x=x2-x1;  
 delta_y=y2-y1; 
 uRow=x1; 
 uCol=y1; 
if(delta_x>0)
        incx=1; 
  else if(delta_x==0)
        incx=0;
   else 
      {
        incx=-1;delta_x=-delta_x;
      }   
if(delta_y>0)
        incy=1; 
  else if(delta_y==0)
        incy=0;
    else
      {
        incy=-1;delta_y=-delta_y;
      }   
if( delta_x>delta_y)
    distance=delta_x; 
else 
        distance=delta_y; 
for(t=0;t<=distance+1;t++ )
{  
    LCD_DrawPoint(uRow,uCol,Color);
    xerr+=delta_x ;  
    yerr+=delta_y ;  
    if(xerr>distance) 
    { 
    xerr-=distance; 
    uRow+=incx; 
    } 
    if(yerr>distance) 
    { 
    yerr-=distance; 
    uCol+=incy; 
    } 
}  
}

最佳答案

查看完整内容[请看2#楼]

回复【4楼】pandy: --------------------------------- 哦哦,我的问题已经解决。
做人要出于情,做事要出于心!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2015-8-10
在线时间
76 小时
发表于 2015-7-18 22:06:54 | 显示全部楼层
回复【4楼】pandy:
---------------------------------
哦哦,我的问题已经解决。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-7-19 23:15:37 | 显示全部楼层
帮顶....
回复

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2015-8-10
在线时间
76 小时
发表于 2015-8-10 17:17:45 | 显示全部楼层
能不能把你的TFT的程序给我??QQ1436890290,非常感谢!
回复

使用道具 举报

5

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2012-8-11
在线时间
31 小时
 楼主| 发表于 2015-8-11 07:59:54 | 显示全部楼层
回复【3楼】张家孝:
---------------------------------
但是程序还没找出问题呀 给你也没用呀
做人要出于情,做事要出于心!
回复

使用道具 举报

7

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2015-12-18
在线时间
32 小时
发表于 2015-12-30 14:46:22 | 显示全部楼层
张家孝 发表于 2015-7-18 22:06
回复【4楼】pandy:
---------------------------------
哦哦,我的问题已经解决。

你好,我目前遇到和已一样的问题,请问你是怎么解决的呢?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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