📄 showregvalue.cpp
字号:
// ShowRegValue.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
#include <commctrl.h>
//#include "Pkfuncs.h"
#include "I2C.h"
#define CLKCON_ADDR 0xB0C0000C
#define GPACON_ADDR 0xB1600000
#define GPADAT_ADDR 0xB1600004
#define GPBCON_ADDR 0xB1600010
#define GPBDAT_ADDR 0xB1600014
#define GPBDN_ADDR 0xB1600018
#define GPCCON_ADDR 0xB1600020
#define GPCDAT_ADDR 0xB1600024
#define GPCDN_ADDR 0xB1600028
#define GPDCON_ADDR 0xB1600030
#define GPDDAT_ADDR 0xB1600034
#define GPDDN_ADDR 0xB1600038
#define GPECON_ADDR 0xB1600040
#define GPEDAT_ADDR 0xB1600044
#define GPEDN_ADDR 0xB1600048
#define GPFCON_ADDR 0xB1600050
#define GPFDAT_ADDR 0xB1600054
#define GPFDN_ADDR 0xB1600058
#define GPGCON_ADDR 0xB1600060
#define GPGDAT_ADDR 0xB1600064
#define GPGDN_ADDR 0xB1600068
#define GPHCON_ADDR 0xB1600070
#define GPHDAT_ADDR 0xB1600074
#define GPHDN_ADDR 0xB1600078
#define GPJCON_ADDR 0xB16000D0
#define GPJDAT_ADDR 0xB16000D4
#define GPJDN_ADDR 0xB16000D8
void ShowValue(HDC hdc,LPTSTR sText)
{
RECT rc = {0,0,240,320};
DrawText(hdc,sText,-1,&rc,DT_WORDBREAK);
}
void FormatText(TCHAR * stText)
{
memset(stText,0,sizeof(TCHAR)*MAX_PATH*2);
TCHAR Temp[MAX_PATH] = {0};
RETAILMSG(1,(L"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
unsigned long * TestArea=(unsigned long *)CLKCON_ADDR;
swprintf(Temp,L"CLKCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// A
RETAILMSG(1,(L"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPACON_ADDR;
swprintf(Temp,L"GPACON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPADAT_ADDR;
swprintf(Temp,L"GPADAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// B
RETAILMSG(1,(L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPBCON_ADDR;
swprintf(Temp,L"GPBCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPBDAT_ADDR;
swprintf(Temp,L"GPBDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPBDN_ADDR;
swprintf(Temp,L"GPBDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// C
RETAILMSG(1,(L"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPCCON_ADDR;
swprintf(Temp,L"GPCCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPCDAT_ADDR;
swprintf(Temp,L"GPCDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPCDN_ADDR;
swprintf(Temp,L"GPCDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// D
RETAILMSG(1,(L"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPDCON_ADDR;
swprintf(Temp,L"GPDCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPDDAT_ADDR;
swprintf(Temp,L"GPDDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPDDN_ADDR;
swprintf(Temp,L"GPDDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// E
RETAILMSG(1,(L"EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPECON_ADDR;
swprintf(Temp,L"GPECON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPEDAT_ADDR;
swprintf(Temp,L"GPEDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPEDN_ADDR;
swprintf(Temp,L"GPEDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// F
RETAILMSG(1,(L"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPFCON_ADDR;
swprintf(Temp,L"GPFCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPFDAT_ADDR;
swprintf(Temp,L"GPFDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPFDN_ADDR;
swprintf(Temp,L"GPFDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// G
RETAILMSG(1,(L"GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPGCON_ADDR;
swprintf(Temp,L"GPGCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPGDAT_ADDR;
swprintf(Temp,L"GPGDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPGDN_ADDR;
swprintf(Temp,L"GPGDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// H
RETAILMSG(1,(L"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPHCON_ADDR;
swprintf(Temp,L"GPHCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPHDAT_ADDR;
swprintf(Temp,L"GPHDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPHDN_ADDR;
swprintf(Temp,L"GPHDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
// J
RETAILMSG(1,(L"JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ"));
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPJCON_ADDR;
swprintf(Temp,L"GPJCON:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPJDAT_ADDR;
swprintf(Temp,L"GPJDAT:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
TestArea=(unsigned long *)GPJDN_ADDR;
swprintf(Temp,L"GPJDN:%08x -",*TestArea);
RETAILMSG(1,(L"%s",Temp));
wcscat(stText,Temp);
RETAILMSG(1,(L"________________________________________________________________"));
}
void FormatIC2Reg(HANDLE hI2c,TCHAR * TextBuff)
{
I2CPARAM stParam = {0};
BYTE UsResult = 0;
DWORD dwRet = 0;
TCHAR Temp[MAX_PATH] = {0};
stParam.chipAddr = 0x16; // attach 0 for read
//stParam.chipAddr = 0xAB;
stParam.readOrWrite = IIC_READ_HIGHSPEED;
stParam.count = 1;
stParam.pData = NULL;
stParam.regAddr = 0;
if( !DeviceIoControl(hI2c,IOCRL_I2CTRANSMIT,&stParam,sizeof(I2CPARAM),&UsResult,1,0,0) )
{
dwRet = GetLastError();
}
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
swprintf(Temp,L"LTC3445 REG0:%02x -",UsResult);
RETAILMSG(1,(L"%s",Temp));
wcscat(TextBuff,Temp);
stParam.regAddr = 1;
if( !DeviceIoControl(hI2c,IOCRL_I2CTRANSMIT,&stParam,sizeof(I2CPARAM),&UsResult,1,0,0) )
{
dwRet = GetLastError();
}
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
swprintf(Temp,L"LTC3445 REG1:%02x -",UsResult);
RETAILMSG(1,(L"%s",Temp));
wcscat(TextBuff,Temp);
stParam.regAddr = 2;
if( !DeviceIoControl(hI2c,IOCRL_I2CTRANSMIT,&stParam,sizeof(I2CPARAM),&UsResult,1,0,0) )
{
dwRet = GetLastError();
}
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
swprintf(Temp,L"LTC3445 REG2:%02x -",UsResult);
RETAILMSG(1,(L"%s",Temp));
wcscat(TextBuff,Temp);
stParam.regAddr = 3;
if( !DeviceIoControl(hI2c,IOCRL_I2CTRANSMIT,&stParam,sizeof(I2CPARAM),&UsResult,1,0,0) )
{
dwRet = GetLastError();
}
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
swprintf(Temp,L"LTC3445 REG3:%02x -",UsResult);
RETAILMSG(1,(L"%s",Temp));
wcscat(TextBuff,Temp);
stParam.regAddr = 5;
if( !DeviceIoControl(hI2c,IOCRL_I2CTRANSMIT,&stParam,sizeof(I2CPARAM),&UsResult,1,0,0) )
{
dwRet = GetLastError();
}
memset(Temp,0,sizeof(TCHAR)*MAX_PATH);
swprintf(Temp,L"LTC3445 REG5:%02x -",UsResult);
RETAILMSG(1,(L"%s",Temp));
wcscat(TextBuff,Temp);
}
int _tmain(int argc, _TCHAR* argv[])
{
// TODO: Place code here.
TCHAR TextBuff[MAX_PATH*2] = {0};
HDC hdc = GetDC(NULL);
SetBkMode(hdc,OPAQUE);
BOOL bLastMode = SetKMode(TRUE);
HANDLE hI2c = CreateFile(_T("I2C1:"), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if(INVALID_HANDLE_VALUE ==hI2c)
return -1;
while (true)
{
FormatText(TextBuff);
FormatIC2Reg(hI2c,TextBuff);
//RETAILMSG(1,(L"%s",TextBuff));
ShowValue(hdc,TextBuff);
Sleep(10000);
}
CloseHandle(hI2c);
SetKMode (bLastMode);
ReleaseDC(NULL,hdc);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -