野火ILI9341驱动芯片的LCD驱动
时间: 2023-08-27 08:05:40 浏览: 69
野火ILI9341驱动芯片的LCD驱动是通过配置液晶屏的相关寄存器来实现的。在初始化过程中,会配置液晶屏的上电过程、显示屏的伽玛参数、分辨率、像素格式等内容。具体的初始化代码如下所示:
```c
void ILI9341_Init(void) {
ILI9341_GPIO_Config(); // 配置IO口
ILI9341_BackLed_Control(ENABLE); // 点亮LCD背光灯
ILI9341_REG_Config(); // 配置液晶屏相关寄存器
ILI9341_GramScan(6); // 设置默认扫描方向
}
```
此外,还可以通过以下代码获取LCD液晶屏的芯片ID:
```c
uint16_t ILI9341_Read_ID(void) {
uint16_t id = 0;
ILI9341_Write_Cmd(0xD3);
ILI9341_Read_Data();
ILI9341_Read_Data();
id = ILI9341_Read_Data();
id <<= 8;
id |= ILI9341_Read_Data();
return id;
}
```
需要注意的是,实际上野火ILI9341驱动芯片的LCD驱动与淘宝商品资料上所写的9325/9328不同。因此,读取ID号时可能无法获取正确的结果。真正的ILI9325驱动芯片(如微雪的3.2寸彩屏)可以从0号寄存器上读取ID号为0x9325。[2]
在写命令时,可以按照以下时序进行操作:
```c
LCD_CS = 0; // 片选选中
LCD_RD = 1; // 禁止读
LCD_DC = 0; // 写命令
DATAOUT(Data); // 输出
LCD_WR = 0; // 写入开始
LCD_WR = 1; // 写入结束
LCD_CS = 1; // 结束片选
```
对于ILI9341驱动芯片的修改后的时序,读时序可能会有所不同。[3]