|
為何程式執行時會自動跳過程序中的某一斷程序
|
|
高級會員
|
板主您好 我使用的是pic18f452來做smbus的主控發送一個command及一個word 但是我在執行時 會發現程序中的某斷程式會被跳過 因此我試著將此斷程序寫了兩次(下述程序中的'下達指令') 出來的結果才與我所期待的相同 可以幫我看一下嗎 看是哪裡有問題??
SMBUSMT MOVLW 05H CPFSLT COMMAND GOTO FUNCTION_KEY
BTFSS PORTC,4 GOTO SMBUSMT
CALL MASTER
BTFSS PORTC,4 GOTO SMBUSMT
WORD_W
BSF SSPCON2,SEN CALL WaitMSSP
MOVLW BQ2040W CALL SEND_SMBUS_BYTE CALL WaitMSSP BTFSC SSPCON2,ACKSTAT GOTO STOP3 ;下達指令 MOVF COMMAND,W CALL SEND_SMBUS_BYTE CALL WaitMSSP BTFSC SSPCON2,ACKSTAT GOTO STOP3 ;下達指令 MOVF COMMAND,W CALL SEND_SMBUS_BYTE CALL WaitMSSP BTFSC SSPCON2,ACKSTAT GOTO STOP3 ;寫入數據 MOVF DATA_L,W CALL SEND_SMBUS_BYTE CALL WaitMSSP BTFSC SSPCON2,ACKSTAT GOTO STOP3 ;寫入數據 MOVF DATA_H,W CALL SEND_SMBUS_BYTE CALL WaitMSSP BTFSC SSPCON2,ACKSTAT GOTO STOP3 ;停止信號 BSF SSPCON2,PEN CALL WaitMSSP RETURN STOP3 BSF SSPCON2,PEN CALL WaitMSSP CALL DELAY_10ms GOTO WORD_W
發表於: 2006/6/14 18:43
|
|