101
p.s.
f75111 send "F75111_SetWDTEnable(BYTE byteTimer)" including a parameter "timer",
if there's no disable signal (F75111_SetWDTDisable()) to stop it before timer countdown to 0, System will reboot.
if there's disable signal received, resent Enable WDT signal, for a loop to prevent from reboot p.s.
IO function In fi 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;