打印

GD32F303 读LCD寄存器

[复制链接]
1964|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


读LCD控制器的设备信息
    /* read the LCD controller device code:(0x8989) */
    device_code = lcd_register_read(0x0000);
具体实现如下:
uint16_t lcd_register_read(uint8_t register_id)
{
    uint16_t data;
    *(__IO uint16_t *) (BANK0_LCD_C)= register_id;
    data = *(__IO uint16_t *) (BANK0_LCD_D);
    return  data;
}
其中的定义如下:
#define BANK0_LCD_D         ((uint32_t)0x61000000)    /*!< LCD data address */
#define BANK0_LCD_C         ((uint32_t)0x60000000)    /*!< LCD register address */


我就没明白 lcd_register_read() 到底是怎么实现读寄存器的。
首先是向地址 0x60000000 写入了一个寄存器X的地址,然后从 LCD data address 寄存器返回寄存器X的值。
这个过程是由LCD控制器完成查询的?

而GD也也没有给 LCD的 datasheet。

沙发
shenmu2012| | 2017-8-15 19:08 | 只看该作者
这个是通过哪种数据总线实现的?

使用特权

评论回复
板凳
[鑫森淼焱垚]|  楼主 | 2017-8-18 13:13 | 只看该作者
shenmu2012 发表于 2017-8-15 19:08
这个是通过哪种数据总线实现的?

文件 gd32f30x.h 中定义如下:
/* peripheral memory map */
#define APB1_BUS_BASE         ((uint32_t)0x40000000U)        /*!< apb1 base address                */
#define APB2_BUS_BASE         ((uint32_t)0x40010000U)        /*!< apb2 base address                */
#define AHB1_BUS_BASE         ((uint32_t)0x40018000U)        /*!< ahb1 base address                */
#define AHB3_BUS_BASE         ((uint32_t)0x60000000U)        /*!< ahb3 base address                */

那应该是 ahb3 地址空间。

使用特权

评论回复
地板
wzw2134| | 2017-8-18 16:48 | 只看该作者
303并不是支持LCD,而是跟103一样通过外挂存储器控制器来实现驱动LCD的,它把LCD当做一个存储器来操作的。

使用特权

评论回复
5
[鑫森淼焱垚]|  楼主 | 2017-8-23 09:34 | 只看该作者
wzw2134 发表于 2017-8-18 16:48
303并不是支持LCD,而是跟103一样通过外挂存储器控制器来实现驱动LCD的,它把LCD当做一个存储器来操作的。 ...

多谢,的确是按照外部存储器方式来访问LCD的。

exmc_lcd_init() ------> exmc_norsram_init(&lcd_init_struct);

使用特权

评论回复
6
smilingangel| | 2017-8-23 20:54 | 只看该作者
[鑫森淼焱垚] 发表于 2017-8-18 13:13
文件 gd32f30x.h 中定义如下:
/* peripheral memory map */
#define APB1_BUS_BASE         ((uint32_t)0 ...

看了下,,这个需要看下该芯片的总线控制分布图的,,一般来说LCD的话,是APB2

使用特权

评论回复
7
QQ2224043166| | 2021-12-11 15:36 | 只看该作者
推荐你使用GD32F450 带LCD-TFT driver,支持像素高,主频高,刷屏效果好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

44

帖子

0

粉丝