中级会员
- 积分
- 243
- 金钱
- 243
- 注册时间
- 2017-5-19
- 在线时间
- 63 小时
|
楼主 |
发表于 2019-12-30 19:15:39
|
显示全部楼层
我用的就是lcd裸机例程,直接烧写裸机例程也能够显示,不过是不全,因为分辨率小,所以显示一半图像,例程里面是7寸的屏幕。然后我就按照能够正常显示的linux的设备树修改了那些参数,这样子之后却什么都不显示了,直接白屏。
这是我修改了的
lcdclk_init(46, 6, 5); /* 初始化LCD时钟 9.2M 下面的1分频我改为了4分频 */
/*
* PLL_VIDEO寄存器设置
* bit[13]: 1 使能VIDEO PLL时钟
* bit[20:19] 2 设置postDivider为1分频 1->2分频 0->4分频
* bit[6:0] : 32 设置loopDivider寄存器
*/
CCM_ANALOG->PLL_VIDEO = (0 << 19) | (1 << 13) | (loopDiv << 0);
lcd_reset(); /* 复位LCD */
delayms(10); /* 延时10ms */
lcd_noreset(); /* 结束复位 */
/* TFTLCD参数结构体初始化 */
tftlcd_dev.height = 272;
tftlcd_dev.width = 480;
tftlcd_dev.pixsize = 4; /* ARGB8888模式,每个像素4字节 */
tftlcd_dev.vspw = 20;
tftlcd_dev.vbpd = 4;
tftlcd_dev.vfpd = 8;
tftlcd_dev.hspw = 82;
tftlcd_dev.hbpd = 8;
tftlcd_dev.hfpd = 16;
tftlcd_dev.framebuffer = LCD_FRAMEBUF_ADDR;
tftlcd_dev.backcolor = LCD_WHITE; /* 背景色为白色 */
tftlcd_dev.forecolor = LCD_BLACK; /* 前景色为黑色 */ |
|