請先看『使用說明』
VT1211(VIA CX700/VIA CN700) Hardware Monitor under Windows
From LEXWiKi
(Difference between revisions)
												
			
			 (→The Sample code source you can download from)  | 
				 (→The Sample code source you can download from)  | 
			||
| (2 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
[[Category:AllowPages]]  | [[Category:AllowPages]]  | ||
== The Sample code source you can download from ==  | == The Sample code source you can download from ==  | ||
| + | <!--  | ||
| + | <Google Drive>  | ||
Source file: [https://drive.google.com/file/d/1VOrFtSqXHDcEvgwU6FFxr4iDyIec4eVX/view?usp=sharing HWMonitor_VT1211_Src]  | Source file: [https://drive.google.com/file/d/1VOrFtSqXHDcEvgwU6FFxr4iDyIec4eVX/view?usp=sharing HWMonitor_VT1211_Src]  | ||
Binary file: [https://drive.google.com/file/d/1rF1rPYEdQFnjtxZpf8r2IQecLfZyi2Y9/view?usp=sharing HWMonitor_VT1211_Bin]  | Binary file: [https://drive.google.com/file/d/1rF1rPYEdQFnjtxZpf8r2IQecLfZyi2Y9/view?usp=sharing HWMonitor_VT1211_Bin]  | ||
| + | -->  | ||
| + | |||
| + | <FTP>  | ||
| + | |||
| + | Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/HardwareMonitor/HWMonitor_VT1211_src.rar HWMonitor_VT1211_Src]  | ||
| + | |||
| + | Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/HardwareMonitor/HWMonitor_VT1211_bin.rar HWMonitor_VT1211_Bin]  | ||
== How to use the DEMO application ==  | == How to use the DEMO application ==  | ||
Current revision
Contents | 
The Sample code source you can download from
<FTP>
Source file: HWMonitor_VT1211_Src
Binary file: HWMonitor_VT1211_Bin
How to use the DEMO application
- Press the "Read Value" button , and then you can find the values in the below text boxes. 
 
Sample code Introduction
Define Registry
#define VT1211A_CONFIGURATIN_INDEX_REGISTER 0x2E #define VT1211A_CONFIGURATIN_INDEX_DATA 0x2F #define VT1211A_CHIPSET_DEFAULT_DEVICEID 0x3C #define VT1211A_CHIPSET_DEVICE_ID 0x20 #define VT1211A_CHIPSET_REVISION 0x21 #define VT1211A_HARDWAREMONTIOR_LDN 0x0B #define VT1211A_HARDWAREMONTIOR_IOBASE 0x60 #define VT1211A_VOLTAGE_CORE 0x24 #define VT1211A_VOLTAGE_3V 0x23 #define VT1211A_VOLTAGE_12V 0x21 #define VT1211A_VOLTAGE_5V 0x22 #define VT1211A_VOLTAGE_VCC 0x26 #define VT1211A_TEMPERATURE_SYSTEM 0x25 #define VT1211A_TEMPERATURE_CPU 0x1F
Open VT1211
outb(0x87,VT1211A_CONFIGURATIN_INDEX_REGISTER);
outb(0x87,VT1211A_CONFIGURATIN_INDEX_REGISTER);
if ((VT1211_Read(VT1211A_CHIPSET_DEVICE_ID) == VT1211A_CHIPSET_DEFAULT_DEVICEID) )
{
    VT1211_Write(0x07,VT1211_HARDWAREMONTIOR_LDN);
    m_HardwareMonitor_IOBase = ( VT1211_Read (VT1211A_HARDWAREMONTIOR_IOBASE) << 8 ) | VT1211_Read (VT1211A_HARDWAREMONTIOR_IOBASE+1);
    return TRUE;		
}
else
    return FALSE;
return FALSE;
}
Read Data
DWORD dwPortVal; dwPortVal = inb((WORD)(m_HardwareMonitor_IOBase + dwOffset)); return ( dwPortVal & 0x00FF);
GetTemperature
switch (dwOffset)
{
    case VT1211A_TEMPERATURE_SYSTEM:
        return VT1211A_TempTable[VT1211_ReadData(VT1211A_TEMPERATURE_SYSTEM)];
    case VT1211A_TEMPERATURE_CPU:
        return (VT1211_ReadData(VT1211A_TEMPERATURE_CPU)-73.869)/0.9528;
}
GetVoltage
float value ;
switch (dwOffset)
{
    case VT1211_VOLTAGE_CORE:
        value = (float)VT1211_ReadData(VT1211A_VOLTAGE_CORE) -3 ;
        return  (float)(value / 95.8);
    case VT1211A_VOLTAGE_5V:
        value = (float)VT1211_ReadData(VT1211A_VOLTAGE_5V) -3 ;
        return  (float)(value / 95.8 /0.4167 );
    case VT1211_VOLTAGE_3V:
        value = (float)VT1211_ReadData(VT1211A_VOLTAGE_3V) -3 ;
        return  (float)(value / 95.8 /0.5952 );
    case VT1211_VOLTAGE_12V:
        value = (float)VT1211_ReadData(VT1211A_VOLTAGE_12V) -3 ;
        return  (float)(value / 95.8 / 0.1754 );
    case VT1211_VOLTAGE_VCC:
        value = (float)VT1211_ReadData(VT1211A_VOLTAGE_VCC) -3 ;
        return  (float)(value / 95.8 / 0.6296 );
}
						
			
		