[Device] Pins=80 Ports=10 ADCPins=16 ADCBits=10 ADCType=12 MaxClock=40000000 PrescalerBits=3 ClockDivider=4 TimerOverflow=256 ConfigAddress=0x300000 ConfigCount=14 PWMCount=2 UARTCount=2 EepromSize=1024 HasAltPWM=2 Pwm2IsD4=0 FlowcodeProduct=PIC DefaultPackageType=1 FlashSize=131072 RamSize=3936 [ICD] ClockPort=1 ClockPin=6 DataPort=1 DataPin=7 [Pins] Pin1 = "RH2/A18" Pin2 = "RH3/A19" Pin3 = "RE1/AD9/WR/P2C" Pin4 = "RE0/AD8/RD/P2D" Pin5 = "RG0/ECCP3/P3A" Pin6 = "RG1/TX2/CK2" Pin7 = "RG2/RX2/DT2" Pin8 = "RG3/CCP4/P3D" Pin9 = "RG5/MCLR/VPP" Pin10 = "RG4/CCP5/P1D" Pin11 = "VSS" Pin12 = "VDD" Pin13 = "RF7/SS1" Pin14 = "RF6/AN11" Pin15 = "RF5/AN10/CVREF" Pin16 = "RF4/AN9" Pin17 = "RF3/AN8" Pin18 = "RF2/AN7/C1OUT" Pin19 = "RH7/AN15/P1B" Pin20 = "RH6/AN14/P1C" Pin21 = "RH5/AN13/P3B" Pin22 = "RH4/AN12/P3C" Pin23 = "RF1/AN6/C2OUT" Pin24 = "RF0/AN5" Pin25 = "AVDD" Pin26 = "AVSS" Pin27 = "RA3/AN3/VREF+" Pin28 = "RA2/AN2/VREF-" Pin29 = "RA1/AN1" Pin30 = "RA0/AN0" Pin31 = "VSS" Pin32 = "VDD" Pin33 = "RA5/AN4/HLVDIN" Pin34 = "RA4/T0CKI" Pin35 = "RC1/T1OSI/ECCP2/P2A" Pin36 = "RC0/T1OSO" Pin37 = "RC6/TX1/CK1" Pin38 = "RC7/RX1/DT1" Pin39 = "RJ4/BA0" Pin40 = "RJ5/CE" Pin41 = "RJ6/LB" Pin42 = "RJ7/UB" Pin43 = "RC2/ECCP1/P1A" Pin44 = "RC3/SCK1/SCL1" Pin45 = "RC4/SDI1/SDA1" Pin46 = "RC5/SDO1" Pin47 = "RB7/KBI3/PGD" Pin48 = "VDD" Pin49 = "OSC1/CLKI/RA7" Pin50 = "OSC2/CLKO/RA6" Pin51 = "VSS" Pin52 = "RB6/KBI2/PGC" Pin53 = "RB5/KBI1/PGM" Pin54 = "RB4/KBI0" Pin55 = "RB3/INT3/ECCP2/P2A" Pin56 = "RB2/INT2" Pin57 = "RB1/INT1" Pin58 = "RB0/INT0" Pin59 = "RJ3/WRH" Pin60 = "RJ2/WRL" Pin61 = "RJ1/OE" Pin62 = "RJ0/ALE" Pin63 = "RD7/AD7/PSP7/SS2" Pin64 = "RD6/AD6/PSP6/SCK2/SCL2" Pin65 = "RD5/AD5/PSP5/SDI2/SDA2" Pin66 = "RD4/AD4/PSP4/SDO2" Pin67 = "RD3/AD3/PSP3" Pin68 = "RD2/AD2/PSP2" Pin69 = "RD1/AD1/PSP1" Pin70 = "VSS" Pin71 = "VDD" Pin72 = "RD0/AD0/PSP0" Pin73 = "RE7/AD15/ECCP2/P2A" Pin74 = "RE6/AD14/P1B" Pin75 = "RE5/AD13/P1C" Pin76 = "RE4/AD12/P3B" Pin77 = "RE3/AD11/P3C" Pin78 = "RE2/AD10/CS/P2B" Pin79 = "RH0/A16" Pin80 = "RH1/A17" [Ports] PortPin1=0x0702 PortPin2=0x0703 PortPin3=0x0401 PortPin4=0x0400 PortPin5=0x0600 PortPin6=0x0601 PortPin7=0x0602 PortPin8=0x0603 PortPin9=0x0605 PortPin10=0x0604 PortPin13=0x0507 PortPin14=0x0506 PortPin15=0x0505 PortPin16=0x0504 PortPin17=0x0503 PortPin18=0x0502 PortPin19=0x0707 PortPin20=0x0706 PortPin21=0x0705 PortPin22=0x0704 PortPin23=0x0501 PortPin24=0x0500 PortPin27=0x0003 PortPin28=0x0002 PortPin29=0x0001 PortPin30=0x0000 PortPin33=0x0005 PortPin34=0x0004 PortPin35=0x0201 PortPin36=0x0200 PortPin37=0x0206 PortPin38=0x0207 PortPin39=0x0904 PortPin40=0x0905 PortPin41=0x0906 PortPin42=0x0907 PortPin43=0x0202 PortPin44=0x0203 PortPin45=0x0204 PortPin46=0x0205 PortPin47=0x0107 PortPin49=0x0007 PortPin50=0x0006 PortPin52=0x0106 PortPin53=0x0105 PortPin54=0x0104 PortPin55=0x0103 PortPin56=0x0102 PortPin57=0x0101 PortPin58=0x0100 PortPin59=0x0903 PortPin60=0x0902 PortPin61=0x0901 PortPin62=0x0900 PortPin63=0x0307 PortPin64=0x0306 PortPin65=0x0305 PortPin66=0x0304 PortPin67=0x0303 PortPin68=0x0302 PortPin69=0x0301 PortPin72=0x0300 PortPin73=0x0407 PortPin74=0x0406 PortPin75=0x0405 PortPin76=0x0404 PortPin77=0x0403 PortPin78=0x0402 PortPin79=0x0700 PortPin80=0x0701 [PortMasks] PortMask0=0xFF PortMask1=0xFF PortMask2=0xFF PortMask3=0xFF PortMask4=0xFF PortMask5=0xFF PortMask6=0x3F PortMask7=0xFF PortMask8=0x00 PortMask9=0xFF [ADCPins] ADC0=30 ADC1=29 ADC2=28 ADC3=27 ADC4=33 ADC5=24 ADC6=23 ADC7=18 ADC8=17 ADC9=16 ADC10=15 ADC11=14 ADC12=22 ADC13=21 ADC14=20 ADC15=19 [Code] ;Substitute macros ;%c Clock Speed ;%o Operand ;%s Prescaler ;%p PortID ;%m MaskBits ;%i Inverse Mask ;%a ADC channel ;%a Config Address ;%v Config Value ;%r Interrupt Flag Register ;%b Interrupt Flag Bit ;%n Interrupt Macro Name Directives="#define MX_CLK_SPEED %c\n#ifdef _BOOSTC\n#include \n#endif\n#ifdef HI_TECH_C\n#include \n#endif\n" MainStart="void main()\n{\n" MainEnd="\tmainendloop: goto mainendloop;\n}\n\n" IntStart="void MX_INTERRUPT_MACRO(void)\n{\n" IntEnd="}\n\n" Initialise="adcon1 = 0x0F;\n" IntInit="\n\n" InputCmdFull="tris%p = tris%p | %m;\n%o = port%p;\n" InputCmdOneBit="tris%p = tris%p | %m;\n%o = ((port%p & %m) == %m);\n" InputCmdMask="tris%p = tris%p | %m;\n%o = port%p & %m;\n" OutputCmdFull="tris%p = 0x00;\nport%p = %o;\n" OutputCmdOneBit="tris%p = tris%p & %i;\nif (%o)\n\tport%p = (port%p & %i) | %m;\nelse\n\tport%p = port%p & %i;\n" OutputCmdMask="tris%p = tris%p & %i;\nport%p = (port%p & %i) | (%o & %m);\n" DelayCmdS="delay_s(%o);\n" DelayCmdMs="delay_ms(%o);\n" DelayCmdUs="delay_us(%o);\n" WdtDelayCmdS="Wdt_Delay_S(%o);\n" WdtDelayCmdMs="Wdt_Delay_Ms(%o);\n" InitialPortLetter="a" ConfigData="#ifdef _BOOSTC\n#pragma DATA %a, %v\n#endif\n#ifdef _HI_TECH_C\n%C__CONFIG(%A, %V);\n#endif\n" IntHandler="#ifndef MX_INTHANDLER_%r_%b\n#define MX_INTHANDLER_%r_%b\nif (%r & (1 << %b))\n{\n\tFCM_%n();\n\tclear_bit(%r, %b);\n}\n\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" [Defines] Define1=#define P18F8722 Define2=#define MX_EE Define3=#define MX_EE_TYPE3 Define4=#define MX_EE_SIZE 1024 Define5=#define MX_SPI Define6=#define MX_SPI_C Define7=#define MX_SPI_SDI 4 Define8=#define MX_SPI_SDO 5 Define9=#define MX_SPI_SCK 3 Define10=#define MX_UART Define11=#define MX_UART_C Define12=#define MX_UART_TX 6 Define13=#define MX_UART_RX 7 Define14=#define MX_UART2 Define15=#define MX_UART2_G Define16=#define MX_UART2_TX 1 Define17=#define MX_UART2_RX 2 Define18=#define MX_I2C Define19=#define MX_MI2C Define20=#define MX_I2C_C Define21=#define MX_I2C_SDA 4 Define22=#define MX_I2C_SCL 3 Define23=#define MX_PWM Define24=#define MX_PWM_CNT 2 Define25=#define MX_PWM_TRIS1 trisc Define26=#define MX_PWM_1 2 Define27=#define MX_PWM_TRIS2 trisc Define28=#define MX_PWM_2 1 Define29=#define MX_PWM_TRIS2a trisb Define30=#define MX_PWM_2a 3 Define31=#define MX_PWM_TRIS2btrise Define32=#define MX_PWM_2b7 Define33=#define MX_PWM_TRIS3 trisg Define34=#define MX_PWM_3 0 Define35=#define MX_PWM_TRIS4 trisg Define36=#define MX_PWM_4 3 Define37=#define MX_PWM_TRIS5 trisg Define38=#define MX_PWM_5 4 [Interrupts] ;first 3 should always be 1=TMR0, 2=RB0INT, 3=PORTB ;any other interrupts need to also have this set: "st_bit(intcon, PEIE);\n" GeneralInit="st_bit(intcon, GIE);\n" Count=10 1=TMR0 2=RB0INT 3=PORTB 4=TMR1 5=RB1INT 6=RB2INT 7=RB3INT 8=TMR2 9=RXINT 10=RXINT2 [TMR0] Name="TMR0" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon_TMR0IF\n#define MX_INTHANDLER_intcon_TMR0IF\nif (ts_bit(intcon, TMR0IF) && ts_bit(intcon, TMR0IE))\n{\n\tFCM_%n();\n\tcr_bit(intcon, TMR0IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon, TMR0IE);\n" DisableCode="cr_bit(intcon, TMR0IE);\n" OptCnt=3 PrescaleOpt=3 MaxTimerOverflow=256 Opt1="Clock Source Select" Opt1Cnt=2 Opt1_1="Transition on T0CKI pin" Opt1_1Val="st_bit(t0con, T0CS);\n" Opt1_2="Internal clock (CLKO)" Opt1_2Val="cr_bit(t0con, T0CS);\n" Opt2="Source Edge Select" Opt2Cnt=2 Opt2_1="high-to-low transition on TMR0 Clock" Opt2_1Val="st_bit(t0con, T0SE);\n" Opt2_2="low-to-high transition on TMR0 Clock" Opt2_2Val="cr_bit(t0con, T0SE);\n" Opt3="Prescaler Rate" Opt3Cnt=9 Opt3_1="1:1" Opt3_1Val="t0con = (t0con & 0xF0) | 0x08;\n" Opt3_2="1:2" Opt3_2Val="t0con = (t0con & 0xF0) | 0x00;\n" Opt3_3="1:4" Opt3_3Val="t0con = (t0con & 0xF0) | 0x01;\n" Opt3_4="1:8" Opt3_4Val="t0con = (t0con & 0xF0) | 0x02;\n" Opt3_5="1:16" Opt3_5Val="t0con = (t0con & 0xF0) | 0x03;\n" Opt3_6="1:32" Opt3_6Val="t0con = (t0con & 0xF0) | 0x04;\n" Opt3_7="1:64" Opt3_7Val="t0con = (t0con & 0xF0) | 0x05;\n" Opt3_8="1:128" Opt3_8Val="t0con = (t0con & 0xF0) | 0x06;\n" Opt3_9="1:256" Opt3_9Val="t0con = (t0con & 0xF0) | 0x07;\n" [RB0INT] Name="RB0/INT0" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon_INT0IF\n#define MX_INTHANDLER_intcon_INT0IF\nif (ts_bit(intcon, INT0IF) && ts_bit(intcon, INT0IE))\n{\n\tFCM_%n();\n\tcr_bit(intcon, INT0IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon, INT0IE);\n" DisableCode="cr_bit(intcon, INT0IE);\n" OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB0/INT0" Opt1_1Val="st_bit(intcon2, INTEDG0);\n" Opt1_2="falling edge of RB0/INT0" Opt1_2Val="cr_bit(intcon2, INTEDG0);\n" [PORTB] Name="PORT" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon_RBIF\n#define MX_INTHANDLER_intcon_RBIF\nchar mxtmp;\nif (ts_bit(intcon, RBIF) && ts_bit(intcon, RBIE))\n{\n\tFCM_%n();\n\tmxtmp=portb;\n\tcr_bit(intcon, RBIF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon, RBIE);\n" DisableCode="cr_bit(intcon, RBIE);\n" OptCnt=0 TmrOpt=0 [TMR1] Name="TMR1" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR1IF\n#define MX_INTHANDLER_pir1_TMR1IF\nif (ts_bit(pir1, TMR1IF) && ts_bit(pie1, TMR1IE))\n{\n\tFCM_%n();\n\tcr_bit(pir1, TMR1IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(pie1, TMR1IE);\n" DisableCode="cr_bit(pie1, TMR1IE);\n" OptCnt=2 PrescaleOpt=2 MaxTimerOverflow=65536 Opt1="Clock Source Select" Opt1Cnt=2 Opt1_1="Transition on T1CKI pin" Opt1_1Val="st_bit(intcon, PEIE);\nst_bit(t1con, T1OSCEN);\nst_bit(t1con, TMR1ON);\nst_bit(t1con, TMR1CS);\n" Opt1_2="Internal clock (Fosc/4)" Opt1_2Val="st_bit(intcon, PEIE);\nst_bit(t1con, T1OSCEN);\nst_bit(t1con, TMR1ON);\ncr_bit(t1con, TMR1CS);\n" Opt2="Prescaler Rate" Opt2Cnt=4 Opt2_1="1:1" Opt2_1Val="t1con = t1con & 0x0F;\n" Opt2_2="1:2" Opt2_2Val="t1con = (t1con & 0x0F) | 0x10;\n" Opt2_3="1:4" Opt2_3Val="t1con = (t1con & 0x0F) | 0x20;\n" Opt2_4="1:8" Opt2_4Val="t1con = (t1con & 0x0F) | 0x30;\n" [RB1INT] Name="RB1/INT1" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT1IF\n#define MX_INTHANDLER_intcon3_INT1IF\nif (ts_bit(intcon3, INT1IF) && ts_bit(intcon3, INT1IE))\n{\n\tFCM_%n();\n\tcr_bit(intcon3, INT1IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon3, INT1IE);\n" DisableCode="cr_bit(intcon3, INT1IE);\n" OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB1/INT1" Opt1_1Val="st_bit(intcon2, INTEDG1);\n" Opt1_2="falling edge of RB1/INT1" Opt1_2Val="cr_bit(intcon2, INTEDG1);\n" [RB2INT] Name="RB2/INT2" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT2IF\n#define MX_INTHANDLER_intcon3_INT2IF\nif (ts_bit(intcon3, INT2IF) && ts_bit(intcon3, INT2IE))\n{\n\tFCM_%n();\n\tcr_bit(intcon3, INT2IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon3, INT2IE);\n" DisableCode="cr_bit(intcon3, INT2IE);\n" OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB2/INT2" Opt1_1Val="st_bit(intcon2, INTEDG2);\n" Opt1_2="falling edge of RB2/INT2" Opt1_2Val="cr_bit(intcon2, INTEDG2);\n" [RB3INT] Name="RB3/INT3" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_intcon3_INT3IF\n#define MX_INTHANDLER_intcon3_INT3IF\nif (ts_bit(intcon3, INT3IF) && ts_bit(intcon3, INT3IE))\n{\n\tFCM_%n();\n\tcr_bit(intcon3, INT3IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(intcon3, INT3IE);\n" DisableCode="cr_bit(intcon3, INT3IE);\n" OptCnt=1 TmrOpt=0 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of RB3/INT3" Opt1_1Val="st_bit(intcon2, INTEDG3);\n" Opt1_2="falling edge of RB3/INT3" Opt1_2Val="cr_bit(intcon2, INTEDG3);\n" [TMR2] Name="TMR2" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR2IF\n#define MX_INTHANDLER_pir1_TMR2IF\nif (ts_bit(pir1, TMR2IF) && ts_bit(pie1, TMR2IE))\n{\n\tFCM_%n();\n\tcr_bit(pir1, TMR2IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(pie1, TMR2IE);\n" DisableCode="cr_bit(pie1, TMR2IE);\n" OptCnt=3 PrescaleOpt=1 PostScaleOpt=2 RolloverOpt=3 MaxTimerOverflow=256 Opt1="Prescaler Rate" Opt1Cnt=3 Opt1_1="1:1" Opt1_1Val="st_bit(intcon, PEIE);\ncr_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(intcon, PEIE);\nst_bit(t2con, T2CKPS0);\ncr_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt1_3="1:16" Opt1_3Val="st_bit(intcon, PEIE);\ncr_bit(t2con, T2CKPS0);\nst_bit(t2con, T2CKPS1);\nst_bit(t2con, TMR2ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t2con = t2con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t2con = (t2con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t2con = (t2con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t2con = (t2con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t2con = (t2con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t2con = (t2con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t2con = (t2con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t2con = (t2con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t2con = (t2con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t2con = (t2con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t2con = (t2con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t2con = (t2con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t2con = (t2con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t2con = (t2con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t2con = (t2con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t2con = (t2con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr2=%d-1;\n" Opt3_2="128" Opt3_2Val="NOTE: only Opt3_1Val is needed here" Opt3_3="64" Opt3_3Val="NOTE: only Opt3_1Val is needed here" Opt3_4="32" Opt3_4Val="NOTE: only Opt3_1Val is needed here" Opt3_5="16" Opt3_5Val="NOTE: only Opt3_1Val is needed here" [RXINT] Name="RXINT" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_pir1_RC1IF\n#define MX_INTHANDLER_pir1_RC1IF\nif (ts_bit(pir1, RC1IF) && ts_bit(pie1, RC1IE))\n{\n\tFCM_%n();\n\tcr_bit(pir1, RC1IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(pie1, RC1IE);\n" DisableCode="cr_bit(pie1, RC1IE);\n" OptCnt=0 TmrOpt=0 [RXINT2] Name="RXINT2" FlagReg= FlagBit= HandlerCode="#ifndef MX_INTHANDLER_pir3_RC2IF\n#define MX_INTHANDLER_pir3_RC2IF\nif (ts_bit(pir3, RC2IF) && ts_bit(pie3, RC2IE))\n{\n\tFCM_%n();\n\tcr_bit(pir3, RC2IF);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" UseExplicitHandlerCode=1 UseExplicitEnableCode=1 EnReg= EnBit= EnableCode="st_bit(pie3, RC2IE);\n" DisableCode="cr_bit(pie3, RC2IE);\n" OptCnt=0 TmrOpt=0