硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2842|回复: 7
收起左侧

[有问必答] emwin spi接口 驱动tftlcd,遇到的问题,求帮助,谢谢

[复制链接]

6

主题

14

回帖

32

积分

新手上路

积分
32
发表于 2018-10-11 12:52:41 | 显示全部楼层 |阅读模式
可以使用GUI_的划线 写字符,但是GUI_clear  fill函数 以及颜色设置等API使用不成(运行时,屏幕没反应),求大能帮助!!!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107462
QQ
发表于 2018-10-11 12:54:44 | 显示全部楼层
方便的话,把你的接口函数贴出来看下。
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-10-11 14:39:08 | 显示全部楼层
/********************************************************************
*
*       LcdWriteReg
*
* Function description:
*   Sets display register
*/
static
        void LcdWriteReg(U8 Com_Data)
        {  // ... TBD by user  20181006 修改

        SPILCD_CS_RESET;  //LCD_CS=0
    SPILCD_DC_RESET;
        SPI_WriteByte(SPI2,Com_Data);
        SPILCD_CS_SET;  //LCD_CS=1                            

  }

/********************************************************************
*
*       LcdWriteData
*
* Function description:
*   Writes a value to a display register
*/
static
        void LcdWriteData(U8 Lcd_Data)
        {
  // ... TBD by user  
        SPILCD_CS_RESET;  //LCD_CS=0
        SPILCD_DC_SET;       
//        SPI_WriteByte(SPI2,Lcd_Data>>8);
        SPI_WriteByte(SPI2,Lcd_Data);
        SPILCD_CS_SET;  //LCD_CS=1               
}



/********************************************************************
*
*       LcdWriteDataMultiple
*
* Function description:
*   Writes multiple values to a display register.
*/
static
        void LcdWriteDataMultiple(U8 *pData, int NumItems)
        {
                int canshu;
                LCD_WriteRAM_Prepare();     //开始写入GRAM                   
        while (NumItems--)
                {
    // ... TBD by user
                        canshu=*pData++;
                        LcdWriteData(canshu);
                       
  }
  }

/********************************************************************
*
*       LcdReadDataMultiple
*
* Function description:
*   Reads multiple values from a display register.
*/
        static
        void LcdReadDataMultiple(U16 * pData, int NumItems) {
  while (NumItems--) {
    // ... TBD by user
  }
}
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107462
QQ
发表于 2018-10-11 14:41:36 | 显示全部楼层
elecapp 发表于 2018-10-11 14:39
/********************************************************************
*
*       LcdWriteReg

要发emWin的接口文件函数。

另外你发的这几个函数测试都正常吗,随意位置操作正常才行。
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-10-11 14:50:04 | 显示全部楼层
没有用到 读 ,好像不影响 类似
GUI_SetPenSize(10);
GUI_SetColor(GUI_RED);
GUI_DrawLine(80, 10, 240, 90);
运行显示是正常的

但  这几条有问题
GUI_SetColor(GUI_RED);
GUI_FillRect(0, 0, 127, 63);
GUI_SetColor(GUI_GREEN);
GUI_FillRect(0, 64, 127, 127);
GUI_SetColor(GUI_BLUE);
GUI_FillRect(0, 128, 127, 191);
运行后,显示是一段线 但颜色正常的!!

这几行:
GUI_SetBkColor(GUI_BLUE);
GUI_Clear();
运行没反应?

搞不懂了?望指点!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107462
QQ
发表于 2018-10-11 16:16:32 | 显示全部楼层
elecapp 发表于 2018-10-11 14:50
没有用到 读 ,好像不影响 类似
GUI_SetPenSize(10);
GUI_SetColor(GUI_RED);

你这种情况是接口函数的实现有问题,不同功能实现需要调用多个接口函数。

参考我这个帖子,使用通用的移植方法搞。
http://www.armbbs.cn/forum.ph ... ypeid%26typeid%3D36
回复

使用道具 举报

6

主题

14

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2018-10-22 12:28:40 | 显示全部楼层
已经搞定了,确定接口函数出的问题,结果删除   
             LCD_WriteRAM_Prepare();     //开始写入GRAM
此行,所有的显示都正常了。
谢谢,各位支持。
不断学习中,进步。。。。。。。。         
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107462
QQ
发表于 2018-10-23 02:14:55 | 显示全部楼层
elecapp 发表于 2018-10-22 12:28
已经搞定了,确定接口函数出的问题,结果删除   
             LCD_WriteRAM_Prepare();     //开始写入GR ...

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-2 10:58 , Processed in 0.238588 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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