关机APP代码实现
2010-02-05 17:13
302 查看
#define IOP_BASE 0xB1600000 // 0x56000000
typedef struct {
unsigned int rGPACON; // 00
unsigned int rGPADAT;
unsigned int rPAD1[2];
unsigned int rGPBCON; // 10
unsigned int rGPBDAT;
unsigned int rGPBUP;
unsigned int rPAD2;
unsigned int rGPCCON; // 20
unsigned int rGPCDAT;
unsigned int rGPCUP;
unsigned int rPAD3;
unsigned int rGPDCON; // 30
unsigned int rGPDDAT;
unsigned int rGPDUP;
unsigned int rPAD4;
unsigned int rGPECON; // 40
unsigned int rGPEDAT;
unsigned int rGPEUP;
unsigned int rPAD5;
unsigned int rGPFCON; // 50
unsigned int rGPFDAT;
unsigned int rGPFUP;
unsigned int rPAD6;
unsigned int rGPGCON; // 60
unsigned int rGPGDAT;
unsigned int rGPGUP;
unsigned int rPAD7;
unsigned int rGPHCON; // 70
unsigned int rGPHDAT;
unsigned int rGPHUP;
unsigned int rPAD8;
}IOPreg;
volatile IOPreg *G_pIOPRegs=NULL;
extern "C" _declspec(dllimport) BOOL VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc,
DWORD cbSize,DWORD fdwProtect);
void CStartDlg::OnButton1()
{
G_pIOPRegs = (volatile IOPreg*)VirtualAlloc(0, sizeof(IOPreg), MEM_RESERVE, PAGE_NOACCESS);
if (G_pIOPRegs == NULL)
{
DEBUGMSG (1,(TEXT("G_pIOPRegs is not allocated/n/r")));
// return false;
}
if (!VirtualCopy((PVOID)G_pIOPRegs, (PVOID)IOP_BASE, sizeof(IOPreg), PAGE_READWRITE|PAGE_NOCACHE))
{
DEBUGMSG (1,(TEXT("G_pIOPRegs is not mapped/n/r")));
// return false;
}
G_pIOPRegs->rGPCCON &= ~(0x3<<14)|(0x3<<12);
G_pIOPRegs->rGPCCON |= (0x1<<14)|(0x1<<12);
G_pIOPRegs->rGPCUP |= (0x1<<7)|(0x1<<6);
G_pIOPRegs->rGPCDAT |= (0x1<<7)|(0x1<<6);
G_pIOPRegs->rGPBCON&=~(0x3);
G_pIOPRegs->rGPBCON|=0x1;
G_pIOPRegs->rGPBDAT&=~(0x1);
G_pIOPRegs->rGPBUP|=0x1;
G_pIOPRegs->rGPBCON &= ~(0x3<<8);
G_pIOPRegs->rGPBCON |= (0x1<<8);
G_pIOPRegs->rGPBUP |= (0x1<<4);
G_pIOPRegs->rGPBDAT&= ~(0x1<<4);
G_pIOPRegs->rGPGDAT &= ~(1<<3);
G_pIOPRegs->rGPGUP |= (0x1<<3);
G_pIOPRegs->rGPGCON &= ~(0x3<<6);
G_pIOPRegs->rGPGCON |= (0x1<<6);
G_pIOPRegs->rGPADAT &= ~(1<<13);
G_pIOPRegs->rGPACON &= ~(1<<13);
}
typedef struct {
unsigned int rGPACON; // 00
unsigned int rGPADAT;
unsigned int rPAD1[2];
unsigned int rGPBCON; // 10
unsigned int rGPBDAT;
unsigned int rGPBUP;
unsigned int rPAD2;
unsigned int rGPCCON; // 20
unsigned int rGPCDAT;
unsigned int rGPCUP;
unsigned int rPAD3;
unsigned int rGPDCON; // 30
unsigned int rGPDDAT;
unsigned int rGPDUP;
unsigned int rPAD4;
unsigned int rGPECON; // 40
unsigned int rGPEDAT;
unsigned int rGPEUP;
unsigned int rPAD5;
unsigned int rGPFCON; // 50
unsigned int rGPFDAT;
unsigned int rGPFUP;
unsigned int rPAD6;
unsigned int rGPGCON; // 60
unsigned int rGPGDAT;
unsigned int rGPGUP;
unsigned int rPAD7;
unsigned int rGPHCON; // 70
unsigned int rGPHDAT;
unsigned int rGPHUP;
unsigned int rPAD8;
}IOPreg;
volatile IOPreg *G_pIOPRegs=NULL;
extern "C" _declspec(dllimport) BOOL VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc,
DWORD cbSize,DWORD fdwProtect);
void CStartDlg::OnButton1()
{
G_pIOPRegs = (volatile IOPreg*)VirtualAlloc(0, sizeof(IOPreg), MEM_RESERVE, PAGE_NOACCESS);
if (G_pIOPRegs == NULL)
{
DEBUGMSG (1,(TEXT("G_pIOPRegs is not allocated/n/r")));
// return false;
}
if (!VirtualCopy((PVOID)G_pIOPRegs, (PVOID)IOP_BASE, sizeof(IOPreg), PAGE_READWRITE|PAGE_NOCACHE))
{
DEBUGMSG (1,(TEXT("G_pIOPRegs is not mapped/n/r")));
// return false;
}
G_pIOPRegs->rGPCCON &= ~(0x3<<14)|(0x3<<12);
G_pIOPRegs->rGPCCON |= (0x1<<14)|(0x1<<12);
G_pIOPRegs->rGPCUP |= (0x1<<7)|(0x1<<6);
G_pIOPRegs->rGPCDAT |= (0x1<<7)|(0x1<<6);
G_pIOPRegs->rGPBCON&=~(0x3);
G_pIOPRegs->rGPBCON|=0x1;
G_pIOPRegs->rGPBDAT&=~(0x1);
G_pIOPRegs->rGPBUP|=0x1;
G_pIOPRegs->rGPBCON &= ~(0x3<<8);
G_pIOPRegs->rGPBCON |= (0x1<<8);
G_pIOPRegs->rGPBUP |= (0x1<<4);
G_pIOPRegs->rGPBDAT&= ~(0x1<<4);
G_pIOPRegs->rGPGDAT &= ~(1<<3);
G_pIOPRegs->rGPGUP |= (0x1<<3);
G_pIOPRegs->rGPGCON &= ~(0x3<<6);
G_pIOPRegs->rGPGCON |= (0x1<<6);
G_pIOPRegs->rGPADAT &= ~(1<<13);
G_pIOPRegs->rGPACON &= ~(1<<13);
}
相关文章推荐
- Windows CE关机APP代码实现
- Android:Java代码实现APP普通安装卸载和静默安装卸载
- java webApp异步上传图片实现代码
- 基于JavaScript代码实现微信扫一扫下载APP
- Android实现关机代码
- 知乎日报App效果及Fragment2实现代码
- Android社交类APP动态详情代码实现通用模板
- Android 系统重启与关机:Java 代码实现
- Android 实现代码关机(2)
- android代码实现关机
- android实现蓝牙app代码
- HBuilder的扩展插件开发暴露了一个事实:其实不能实现写一次代码实现跨平台App生成
- Android App的国际化-代码里实现
- Objective-C 【电商APP应用代码-系统分析-详细注释-代码实现】
- Java代码实现获取安卓手机指定App的流量、CPU和内存占用信息
- Vbs实现断网就关机的代码
- android 系统重启与关机:java 代码实现
- Android 系统重启与关机:Java 代码实现(3)
- 通过扫描二维码打开app的实现代码
- Android中利用App实现消息推送机制的代码