📄 lcdio.cpp
字号:
#include "stdafx.h"
#include "lcdio.h"
CLcdIo::CLcdIo()
{
}
BOOL CLcdIo::bInitLcdReg()
{
v_pLCDreg = (volatile LCDreg*)VirtualAlloc(0, sizeof(LCDreg), MEM_RESERVE, PAGE_NOACCESS);
if (v_pLCDreg == NULL)
{
MessageBox(NULL,TEXT("v_pLCDreg is not allocated\n\r"),NULL,1);
return FALSE;
}
if (!VirtualCopy((PVOID)v_pLCDreg, (PVOID)LCD_BASE, sizeof(LCDreg), PAGE_READWRITE|PAGE_NOCACHE))
{
MessageBox (NULL,TEXT("v_pLCDreg is not mapped\n\r"),NULL,1);
return FALSE;
}
DEBUGMSG (1,(TEXT("v_pLCDreg is mapped to %x\n\r"), v_pLCDreg));
v_pIOPRegs = (volatile IOPreg*)VirtualAlloc(0, sizeof(IOPreg), MEM_RESERVE, PAGE_NOACCESS);
if (v_pIOPRegs == NULL)
{
DEBUGMSG (1,(TEXT("v_pIOPRegs is not allocated\n\r")));
return FALSE;
}
if (!VirtualCopy((PVOID)v_pIOPRegs, (PVOID)IOP_BASE, sizeof(IOPreg), PAGE_READWRITE|PAGE_NOCACHE))
{
DEBUGMSG (1,(TEXT("v_pIOPRegs is not mapped\n\r")));
return FALSE;
}
DEBUGMSG (1,(TEXT("v_pIOPRegs is mapped to %x\n\r"), v_pIOPRegs));
return TRUE;
}
void CLcdIo::LcdOff()
{
v_pIOPRegs->rGPGUP=v_pIOPRegs->rGPGUP&(~(1<<4))|(1<<4); // Pull-up disable
v_pIOPRegs->rGPGCON=v_pIOPRegs->rGPGCON&(~(3<<8))|(3<<8); //GPG4=LCD_PWREN
v_pLCDreg->rLCDCON5=v_pLCDreg->rLCDCON5&(~(1<<3))|(1<<3); // PWREN
v_pLCDreg->rLCDCON5=v_pLCDreg->rLCDCON5&(~(1<<5))|(0<<5); // INVPWREN
v_pLCDreg->rLCDCON1&=~1;
}
void CLcdIo::LcdOn()
{
v_pIOPRegs->rGPGUP=v_pIOPRegs->rGPGUP&(~(1<<4))|(1<<4); // Pull-up disable
v_pIOPRegs->rGPGCON=v_pIOPRegs->rGPGCON&(~(3<<8))|(3<<8); //GPG4=LCD_PWREN
v_pLCDreg->rLCDCON5=v_pLCDreg->rLCDCON5&(~(1<<3))|(1<<3); // PWREN
v_pLCDreg->rLCDCON5=v_pLCDreg->rLCDCON5&(~(1<<5))|(0<<5); // INVPWREN
v_pLCDreg->rLCDCON1|=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -