高级会员

- 积分
- 839
- 金钱
- 839
- 注册时间
- 2020-11-13
- 在线时间
- 135 小时
|
本帖最后由 wangertan 于 2020-12-16 16:43 编辑
我的使用模拟三线spi驱动屏(IC:st7789),可以发送命令和数据 并且可以实现清屏(虽然速度有点慢);速度不行 所以想试试rgb接口 ,之后根据屏的初始化命令 已经将参数修改为rgb接口的参数,但是就没反应了。我的ltdc(硬件连接rgb666)已经根据我的硬件连接使用cube配置好了。
主要就是命令:b0H后边的参数:按照手册配置为ox11没毛病,但是就是不显示,设置为00h就可以显示了。
2020 12 10 11:20 用spi发送命令设置为rgb接口跟RGB接口本身的时许有关系吗?
14:47 感觉rgb接口没有起作用。
12:16 16:38 问题已经解决 ,要正确配置ltdc时许(就是参数设置),时钟一定要多试试(最后好像是10mhz,后续测摄像头可能还会改动),还有就是测试图像的格式(240x320 or 320x240,数据是不一样的)。硬件连接和厂家提供的屏幕要对接(16bit or 18bit ,256k or 65k)。图像数组初始化时可以不给固定(好像可以省ram)空间.暂时就这些。
初始化代码如下。
void ST7789_LCD_Initializeaa(void)
{
//屏幕初始化
LCD_CS(0);
delay_us();
//-----------------------------------ST7789V reset sequence------------------------------------//
HAL_Delay(40);
LCD_RESET(1);
HAL_Delay(10); //HAL_Delay 1ms
LCD_RESET(0);
HAL_Delay(10); //HAL_Delay 10ms
LCD_RESET(1);
HAL_Delay(120); //HAL_Delay 120ms
write_lcd_cmd(0x11);
HAL_Delay(120);
write_lcd_cmd(0x36); //Memory Data Access Control
write_lcd_data(0x00); //
write_lcd_cmd(0x3a) ; // Interface Pixel Format
write_lcd_data(0x66); // 55 16bit
//
write_lcd_cmd(0xb0); // 主要是这个参数的设置
write_lcd_data(0x11);
write_lcd_data(0xf0);
//--------------------------------ST7789V Frame rate setting----------------------------------//
write_lcd_cmd(0xb2); //
write_lcd_data(0x0c); //Back porch 12
write_lcd_data(0x0c); // Front porch 12
write_lcd_data(0x00); // Enable separate porch control
write_lcd_data(0x33); //Back porch setting in idle mod 3 //Front porch setting in idle mode 3
write_lcd_data(0x33);
write_lcd_cmd(0xb7); // Gate Control
write_lcd_data(0x35); // 13.26 -10.43
//---------------------------------ST7789V Power setting--------------------------------------//
write_lcd_cmd(0xbb);
write_lcd_data(0x35);
write_lcd_cmd(0xc0); // LCM Control
write_lcd_data(0x2c); //
write_lcd_cmd(0xc2);
write_lcd_data(0x01);
write_lcd_cmd(0xc3);
write_lcd_data(0x0b);
write_lcd_cmd(0xc4);
write_lcd_data(0x20);
write_lcd_cmd(0xc6);
write_lcd_data(0x0f);
write_lcd_cmd(0xd0);
write_lcd_data(0xa4);
write_lcd_data(0xa1);
//--------------------------------ST7789V gamma setting---------------------------------------//
write_lcd_cmd(0xe0);
write_lcd_data(0xd0);
write_lcd_data(0x00);
write_lcd_data(0x02);
write_lcd_data(0x07);
write_lcd_data(0x0b);
write_lcd_data(0x1a);
write_lcd_data(0x31);
write_lcd_data(0x54);
write_lcd_data(0x40);
write_lcd_data(0x29);
write_lcd_data(0x12);
write_lcd_data(0x12);
write_lcd_data(0x12);
write_lcd_data(0x17);
write_lcd_cmd(0xe1);
write_lcd_data(0xd0);
write_lcd_data(0x00);
write_lcd_data(0x02);
write_lcd_data(0x07);
write_lcd_data(0x05);
write_lcd_data(0x25);
write_lcd_data(0x2d);
write_lcd_data(0x44);
write_lcd_data(0x45);
write_lcd_data(0x1c);
write_lcd_data(0x18);
write_lcd_data(0x16);
write_lcd_data(0x1c);
write_lcd_data(0x1d);
write_lcd_cmd(0x21);
write_lcd_cmd(0x29);
}
|
|