PDA

View Full Version : Symbolic bit references for SFR's



khaynes
- 18th March 2008, 23:17
I want to write:


IF PIR1.TMR1IF = 1 THEN ; Remember that TMR1IF bit is in PIR1 SFR
T1CON = 0 ; Stop timer
PIR1.TMR1IF = 0
GOSUB DoSomethingUseful
ENDIF


Instead of:


TMR1FLAG VAR PIR1.0 ; Timer1 overflow flag, (Must remember that TMR1IF is bit 0)
; TMR1IF is defined in M16F87X.INC but that doesn't help me

IF TMR1FLAG = 1 THEN
T1CON = 0 ; Stop timer
TMR1FLAG = 0 ; Clear timer flag
GOSUB DoSomethingUseful
ENDIF


I would settle for:


TMR1IF CON 0
TMR1FLAG VAR PIR1.TMR1IF
IF TMR1FLAG = 1 THEN
T1CON = 0 ; Stop timer
TMR1FLAG = 0 ; Clear timer flag
GOSUB DoSomethingUseful
ENDIF