Lex 3I170DW Manual page 56

Table of Contents

Advertisement

Introduction
IO function In fi le SMBus.c
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);
}
Initial internal F75111
void F75111::InitInternalF75111()
{
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO1X_CONTROL_MODE ,0x00);
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO3X_CONTROL_MODE ,0x00);
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO2X_CONTROL_MODE ,0xFF);
this->Write_Byte(F75111_INTERNAL_ADDR,F75111_CONFIGURATION, 0x03);
}
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;
this->Write_Byte(F75111_INTERNAL_ADDR,GPIO2X_OUTPUT_DATA,byteData); // write byteData value via GPIO2X output pin
}
//set GPIO1X to Input function
//set GPIO3X to Input function
//set GPIO2X to Output function
//Enable WDT OUT function
// get value bit by bit
51

Advertisement

Table of Contents
loading

Table of Contents