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); 










