clc

 

 

mov

cx,0800h

 

Chk_I2c_OK:

 

 

in

al,dx

;get status

NEWIODELAY

 

out

dx,al

;clear status

NEWIODELAY

 

test

al, 02H

;termination of command ?

jnz

short Clear_final

and

al, NOT 40H;mask INUSE bit

or

al,al

;status OK ?

jz

short Clear_final

test

al,04h

;device error

jnz

short SMBus_Err

loop short Chk_I2c_OK ;SMbus error due to timeout

SMBus_Err:

stc ret

Clear_final:

clc ret

CT_Chk_SMBus_ReadyEndp

;;===============================================================

Delay5msprocnear push cx mov cx, 1000

@@:

NEWIODELAY loop short @B pop cx

ret

Delay5ms ENDP Phoenix_debuger proc near

pushf push cx

push offset PhdebugRetAddr push cs

PCM-9588 User Manual

88

Page 98
Image 98
Advantech PCM-9588 user manual Clc Mov Cx,0800h ChkI2cOK Al,dx Get status