AK_PRIVATE/DRIVERS/DISPLAY/ANYKA_LCD/LCDController/base_LCDController.cpp文件中:
VOID LCD_CONTROLLER::ResetLcm(VOID)
{
REG32((DWORD*)(m_lcdRegMap + LCD_RESET_SIGNAL_REG_OFFSET)) = RESET_SIGNAL;
Sleep(2);
REG32((DWORD*)(m_lcdRegMap + LCD_RESET_SIGNAL_REG_OFFSET)) = 0;
Sleep(2);
REG32((DWORD*)(m_lcdRegMap + LCD_RESET_SIGNAL_REG_OFFSET)) = RESET_SIGNAL;
Sleep(2);
}
------------------------------------------
ANYKA780X-BSP/Package_Source_V2.4.0B_EPC_LEVEL1/PLATFORM/AK780X/SRC/INC/REGINC/AK_lcd.h文件中:
//LCD_RESET_SIGNAL_REG_OFFSET
#define RESET_SIGNAL (0x1)
------------------------------------------------------
ANYKA780X-BSP/Package_Source_V2.4.0B_EPC_LEVEL1/PLATFORM/AK780X/SRC/INC/REGINC/AK_base_regs.h中
#define AK_BASE_REG_PA_LCD (0x20010000) //LCD control
---------------------------------------------
pa.LowPart = AK_BASE_REG_PA_LCD;
pa.HighPart = 0;
m_lcdRegMap = (BYTE *)MmMapIoSpace(pa, REG_LENGTH, FALSE);
初始化时已经实现了拉高-拉低-拉高的过程。
AK_base_regs.h中的SPI部分再好好看看,找到寄存器访问方法。