User`s guide
Appendix A
54
KEEX-2030 User’s Manual
printf(" The Error Code is 0x00E0 !!! \n");
break;
}
else
{
delay(25);
outportb(SMBus_Port,status);
errorcount++;
if(errorcount > 10) {
printf("CHECK SMBUS ERROR\n");
break;
}
}
status = inp(SMBus_Port);
}
}
int SMBUS_Read_Byte(int offset,int DEVID)
{
int RetVal=0;
outportb(SMBus_Port,0x0fe);
outportb(SMBus_Port+0x04,DEVID+1);
outportb(SMBus_Port+0x03,offset+0);
outportb(SMBus_Port+0x02,0x48);
delay(200);
if(WaitReady(SMBus_Port))
{
RetVal = inp(SMBus_Port+0x05);
}
return RetVal;
}
/* =============== This Routine is Write the Device Reg Value
=============== */
void SMBUS_Write_Byte(int Dev_id,int Reg_index,int Value)
{
outportb(SMBus_Port+0x04,Dev_id);
delay(5);
Chk_SMBUS_Ready();
outportb(SMBus_Port+0x03,Reg_index);
delay(5);
outportb(SMBus_Port+0x05,(Value & 0xFF));
delay(5);
outportb(SMBus_Port+0x02,0x48);
delay(25);
Chk_SMBUS_Ready();
}
int reading(){
int RetVal=0;
RetVal=SMBUS_Read_Byte(0,0x30);