230|3

58

帖子

0

资源

一粒金砂(中级)

【GD32E503评测】mig29_Step3 初探 LCD 显示的疑问 [复制链接]

一直没有用过带 LCD 的开发板,本次申请除了要实测ADC、DAC的物理特性外,就是特地要实践玩一下LCD 显示。
等到看了例程(见下方代码),心里有个疑问:显示的内容都是一个点一个点 “填充”出来的?! (比如清屏),而且每个点起码涉及三次写操作,速度怎么能快得起来?
(之前的设想:应该是在 MCU 的 RAM 里面开 Buff,然后用 DMA 搬运到 LCD 驱动的RAM 里)

 

幸运的是,本次参与测评的其他同好贡献了许多跟显示相关的 Demo,接下来可以认真学习一番。

 

#define BANK0_LCD_D         ((uint32_t)0x61000000)    /*!< LCD data address */
#define BANK0_LCD_C         ((uint32_t)0x60000000)    /*!< LCD register address */

void lcd_register_write(uint16_t register_id,uint16_t value)
{
    *(__IO uint16_t *) (BANK0_LCD_C)= register_id;
    *(__IO uint16_t *) (BANK0_LCD_D)= value;
}

/*!
    \brief      set the point according to the specified position and color
    \param[in]  x: the row-coordinate
    \param[in]  y: the column-coordinate
    \param[in]  point: specified color of the point
*/
void lcd_point_set(uint16_t x,uint16_t y,uint16_t point)
{
    if ((x > LCD_PIXEL_HEIGHT)||(y > LCD_PIXEL_WIDTH)){
        return;
    }
    if(0x8989 == device_code){             // SSD1289
        lcd_cursor_set(x,y);
        lcd_gram_write_prepare();
        lcd_gram_write(point);
    }else if((0x9320 == device_code) || (0x9300 == device_code)){    //ILI9320
        lcd_register_write(0x20, x);
        lcd_register_write(0x21, y);
        lcd_register_write(0x22, point);
    }
}

void lcd_hline_draw(uint16_t x,uint16_t start_y,uint16_t end_y,uint16_t color,uint16_t width)
{
    uint16_t i, y;

    for (i = 0; i < width; i++) {
        uint16_t sx = x + i;

        for (y = start_y; y < end_y; y++) {
            lcd_point_set(sx, y, color);
        }
    }
}


 

 


回复

3337

帖子

1

资源

五彩晶圆(初级)

自己画太慢了,了解原理之后还是用图形库来的快。

点评

图形库只是能方便应用吧,我上面列出的已经是最底层的代码:每个点都需要3次IO。 不过看到有人测试说是能达到每秒30帧。  详情 回复 发表于 2021-2-25 23:20
个人签名人已离开,无事别找,找也找不到。

回复

58

帖子

0

资源

一粒金砂(中级)

freebsder 发表于 2021-2-25 22:27 自己画太慢了,了解原理之后还是用图形库来的快。

图形库只是能方便应用吧,我上面列出的已经是最底层的代码:每个点都需要3次IO。

不过看到有人测试说是能达到每秒30帧。


回复

58

帖子

0

资源

一粒金砂(中级)

看了其他网友关于LCD的测评,非常有收获,也庆幸自己有机会拿到 GD 的这块带屏幕的板来学习使用 LCD屏。

不过也许是手机屏幕的高清效果看多了,现在看开发板上的“彩色‘LCD感觉怪怪的(背光有闪烁?)

 

从前面实测ADC、DAC的物理特性看,国产 MCU 真的是越来越好了,希望在量产时也能保证质量,这样就可以跟国外的 PK 了。


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表