EasyManua.ls Logo

Tera 2I386EW - Page 52

Tera 2I386EW
107 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
47
IO function In le SMBus.c
Initial internal F75111
Introduction
void SMBusIoWrite(BYTE byteOffset,BYTE byteData)
{
outb( byteData , m_SMBusMapIoAddr + byteOffset);
}
BYTE SMBusIoRead(BYTE byteOffset)
{
DWORD dwAddrVal;
dwAddrVal = inb(m_SMBusMapIoAddr + byteOffset);
return (BYTE)(dwAddrVal & 0x0FF);
}
void F75111::InitInternalF75111()
{
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO1X_CONTROL_MODE ,0x00); //set GPIO1X to Input function
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO3X_CONTROL_MODE ,0x00); //set GPIO3X to Input function
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO2X_CONTROL_MODE ,0xFF); //set GPIO2X to Output function
this->Write_Byte(F75111_INTERNAL_ADDR,F75111_CONFIGURATION, 0x03); //Enable WDT OUT function
}
Set output value
void F75111::InterDigitalOutput(BYTE byteValue)
{
BYTE byteData = 0;
byteData = (byteData & 0x01 )? byteValue + 0x01 : byteValue;
byteData = (byteData & 0x02 )? byteValue + 0x02 : byteValue;
byteData = (byteData & 0x04 )? byteValue + 0x04 : byteValue;
byteData = (byteData & 0x80 )? byteValue + 0x08 : byteValue;
byteData = (byteData & 0x40 )? byteValue + 0x10 : byteValue;
byteData = (byteData & 0x20 )? byteValue + 0x20 : byteValue;
byteData = (byteData & 0x10 )? byteValue + 0x40 : byteValue;
byteData = (byteData & 0x08 )? byteValue + 0x80 : byteValue; // get value bit by bit
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO2X_OUTPUT_DATA,byteData); // write byteData value via GPIO2X output pin
}

Table of Contents