资深版主
- 积分
- 10553
- 金钱
- 10553
- 注册时间
- 2017-2-18
- 在线时间
- 1910 小时
|
本帖最后由 peng1554 于 2018-11-27 21:50 编辑
遇到用户使用阿波罗F729在168M频率下驱动7寸RGB(1024*600分辨率)出现撕裂现象,如下图
例程这边设置的是180M的系统主频,修改180M主频到168M可以在main函数中调用Stm32_Clock_Init()设置系统主时钟为168M
[mw_shl_code=c,true]Stm32_Clock_Init(336,25,2,7); //设置时钟,168Mhz[/mw_shl_code]
这样 SYSCLK=168M
AHB时钟=168M
APB1时钟=42M
APB2时钟=84M
造成上图中撕裂现象的原因是程序中LCD的像素时钟设置有点高,原例程是用的45M像素时钟
我们这里调用LTDC_Clk_Set()将像素时钟设置为40M,该函数调用在LTDC_Init()中
[mw_shl_code=c,true]if(lcdid==0X7016)
{
lcdltdc.pwidth=1024; //面板宽度,单位:像素
lcdltdc.pheight=600; //面板高度,单位:像素
lcdltdc.hsw=20; //水平同步宽度
lcdltdc.vsw=3; //垂直同步宽度
lcdltdc.hbp=140; //水平后廊
lcdltdc.vbp=20; //垂直后廊
lcdltdc.hfp=160; //水平前廊
lcdltdc.vfp=12; //垂直前廊
LTDC_Clk_Set(320,2,RCC_PLLSAIDIVR_4);//设置像素时钟 40Mhz
//其他参数待定.
}[/mw_shl_code]
该像素时钟的由来见时钟图
|
|