|

楼主 |
发表于 2018-3-4 17:49:32
|
显示全部楼层
本帖最后由 hpdell 于 2018-3-4 21:42 编辑
貌似跟这个 _LTDC_SetLayerPos 函数有关,吧这个函数的内容屏蔽就好了,但是不知道对以后的程序有没有什么影响啊 ?????
/*
*********************************************************************************************************
* 函 数 名: _LTDC_SetLayerPos
* 功能说明: 设置图层的位置
* 形 参: LayerIndex 结构体指针
* xPos X位置
* yPos Y位置
* 返 回 值: 无
*********************************************************************************************************
*/
static void _LTDC_SetLayerPos(int LayerIndex, int xPos, int yPos) {
/*
int xSize, ySize;
U32 HorizontalStart, HorizontalStop, VerticalStart, VerticalStop;
xSize = LCD_GetXSizeEx(LayerIndex);
ySize = LCD_GetYSizeEx(LayerIndex);
// 貌似显示坐标位置 不对跟这个有关 ????????????????//其中 LCD_HBP ,LCD_VBP 这2个参数,如果不使用 emWin 显示时,坐标完全正常,但是使用 emWin 后,显示的坐标就不正常了,请问是怎么回事啊 ???????
HorizontalStart = xPos + LCD_HBP + 1;
HorizontalStop = xPos + LCD_HBP + xSize;
VerticalStart = yPos + LCD_VBP + 1;
VerticalStop = yPos + LCD_VBP + ySize;
//
// Horizontal start and stop position
//
_apLayer[LayerIndex]->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS);
_apLayer[LayerIndex]->WHPCR = (HorizontalStart | (HorizontalStop << 16));
//
// Vertical start and stop position
//
_apLayer[LayerIndex]->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS);
_apLayer[LayerIndex]->WVPCR = (VerticalStart | (VerticalStop << 16));
//
// Reload configuration
//
// LTDC_ReloadConfig(LTDC_SRCR_VBR); // Reload on next blanking period 标准库
HAL_LTDC_Reload(&LCD_Handle, LTDC_SRCR_VBR); // hal 库
*/
}
|
|