Request RTC data to the MCF when shutdown is done by software
This commit is contained in:
@@ -40,6 +40,9 @@ GO_SUB EQU 0x4C ;WENN GLEICH 0xFB DANN SUBROUTINE AUSF
|
|||||||
GO_INT EQU 0x4D ;WENN GLEICH 0xFB DANN SUBROUTINE AUSF<53>HREN
|
GO_INT EQU 0x4D ;WENN GLEICH 0xFB DANN SUBROUTINE AUSF<53>HREN
|
||||||
EAPIR1 EQU 0x4E ;INTERRUPT ACTIV UND ENABLE
|
EAPIR1 EQU 0x4E ;INTERRUPT ACTIV UND ENABLE
|
||||||
EAPIR2 EQU 0x4F ;INTERRUPT ACTIV UND ENABLE
|
EAPIR2 EQU 0x4F ;INTERRUPT ACTIV UND ENABLE
|
||||||
|
COUNT1 EQU 0x50 ;COUNTER FOR WAIT LOOP
|
||||||
|
COUNT2 EQU 0x51 ;COUNTER FOR WAIT LOOP
|
||||||
|
SW_POWER_OFF_FLAG EQU 0x52 ;SOFTWARE SHUTDOWN FLAG
|
||||||
;BANK 1 AB 0x100
|
;BANK 1 AB 0x100
|
||||||
RX_BUFFER EQU 0x100 ;0x80 BYT BUFFER BIS 0x17F BANK
|
RX_BUFFER EQU 0x100 ;0x80 BYT BUFFER BIS 0x17F BANK
|
||||||
TX_BUFFER EQU 0x180 ;0X80 BYT BUFFER BIS 0x1FF BANK
|
TX_BUFFER EQU 0x180 ;0X80 BYT BUFFER BIS 0x1FF BANK
|
||||||
@@ -277,6 +280,7 @@ KALT_START
|
|||||||
CLRF RX_STATUS
|
CLRF RX_STATUS
|
||||||
CLRF TX_STATUS
|
CLRF TX_STATUS
|
||||||
BSF PIE1,TMR1IE ;Enable Timer1 interrupt
|
BSF PIE1,TMR1IE ;Enable Timer1 interrupt
|
||||||
|
CLRF SW_POWER_OFF_FLAG
|
||||||
;AD WANDLER INITIALISIEREN
|
;AD WANDLER INITIALISIEREN
|
||||||
CLRF AD_KANAL ;BEI 0 BEGINNEN
|
CLRF AD_KANAL ;BEI 0 BEGINNEN
|
||||||
CLRF ADCON0 ;AD MOUDUL AUS
|
CLRF ADCON0 ;AD MOUDUL AUS
|
||||||
@@ -318,6 +322,8 @@ MAIN
|
|||||||
WARTEN
|
WARTEN
|
||||||
BTFSC TRISD,RD0 ;SKIP IF POWER ON
|
BTFSC TRISD,RD0 ;SKIP IF POWER ON
|
||||||
SLEEP ;SLEPP BIS ZUM N<>CHSTEN INTERRUPT
|
SLEEP ;SLEPP BIS ZUM N<>CHSTEN INTERRUPT
|
||||||
|
TSTFSZ SW_POWER_OFF_FLAG ;SOFTWARE SHUTDOWN FLAG SET?
|
||||||
|
CALL SW_POWER_OFF ;YES->
|
||||||
BRA MAIN
|
BRA MAIN
|
||||||
MAIN2
|
MAIN2
|
||||||
CALL EXTERN_SUBROUTINES ;EXTERNE SUBROUTINEN AUSF<53>HREN AN STELLE 0 MUSS 0xFA STEHEN SONST UNG<4E>LTIG
|
CALL EXTERN_SUBROUTINES ;EXTERNE SUBROUTINEN AUSF<53>HREN AN STELLE 0 MUSS 0xFA STEHEN SONST UNG<4E>LTIG
|
||||||
@@ -349,6 +355,29 @@ POWER_AUS
|
|||||||
BSF TRISA,RA7 ;CLOCK DEAKTIVIEREN
|
BSF TRISA,RA7 ;CLOCK DEAKTIVIEREN
|
||||||
CLRF POWER_ON_TIME ;R<>CKSETZEN
|
CLRF POWER_ON_TIME ;R<>CKSETZEN
|
||||||
BRA LS_OFF_POWER ;LADESTROM EINSTELLEN
|
BRA LS_OFF_POWER ;LADESTROM EINSTELLEN
|
||||||
|
SW_POWER_OFF
|
||||||
|
;BEFORE SOFTWARE POWER OFF GET RTC DATA FROM MCF
|
||||||
|
MOVLW REQ_RTCD_FROM_MCF
|
||||||
|
MOVWF TXREG ;BLOCK HEADER = 0X81
|
||||||
|
;WAIT 260 ms APPROX FOR MCF TO SEND RTC DATA
|
||||||
|
MOVLW .255
|
||||||
|
MOVWF COUNT1
|
||||||
|
MOVWF COUNT2
|
||||||
|
WAIT_MCF
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
DECFSZ COUNT1
|
||||||
|
GOTO WAIT_MCF
|
||||||
|
MOVLW .255
|
||||||
|
MOVWF COUNT1
|
||||||
|
DECFSZ COUNT2
|
||||||
|
GOTO WAIT_MCF
|
||||||
|
CALL POWER_AUS
|
||||||
|
CLRF SW_POWER_OFF_FLAG
|
||||||
|
RETURN
|
||||||
;LADESTROM EINSTELLEN ----------------------------
|
;LADESTROM EINSTELLEN ----------------------------
|
||||||
LADESTROM
|
LADESTROM
|
||||||
BTFSC TRISD,RD0 ; ONPOWER?
|
BTFSC TRISD,RD0 ; ONPOWER?
|
||||||
@@ -673,7 +702,7 @@ LC2:
|
|||||||
CPFSEQ POSTINC1 ;=? SIKP JA
|
CPFSEQ POSTINC1 ;=? SIKP JA
|
||||||
BRA LC4 ;NEIN->
|
BRA LC4 ;NEIN->
|
||||||
;POWER OFF
|
;POWER OFF
|
||||||
CALL POWER_AUS
|
INCF SW_POWER_OFF_FLAG ;SET SOFTWARE SHUTDOWN FLAG
|
||||||
CLRF RX_STATUS ;JA FERTIG
|
CLRF RX_STATUS ;JA FERTIG
|
||||||
RETFIE
|
RETFIE
|
||||||
LC4:
|
LC4:
|
||||||
|
|||||||
Reference in New Issue
Block a user