[Device] Pins=18 Ports=2 ADCPins=12 ADCBits=10 MaxClock=32000000 PrescalerBits=3 ClockDivider=4 ConfigAddress=0x8007 ConfigCount=2 PortBits=8 PWMCount=4 UARTCount=1 SPICount=2 I2CCount=2 CANCount=0 ComparatorCount=2 TimerCount8=4 TimerCount16=1 EepromSize=256 HasAltPWM=0 FlowcodeProduct=PIC UsesGpio=0 DefaultPackageType=0 FlashSize=8192 RamSize=1024 [ICD] ClockPort=1 ClockPin=6 DataPort=1 DataPin=7 [Pins] Pin1="RA2/AN2/CPS2/C12IN2-/C12IN+/VREF-/DACOUT" Pin2="RA3/AN3/CPS3/C12IN3-/C1IN+/VREF+/C1OUT/CCP3/SRQ" Pin3="RA4/AN4/CPS4/C2OUT/T0CKI/CCP4/SRNQ" Pin4="RA5/MCLR/VPP/SS1" Pin5="Vss" Pin6="RB0/T1G/(CCP1)/P1A/INT/SRI/FLT0" Pin7="RB1/AN11/CPS11/RX/DT/SDA1/SDI1" Pin8="RB2/AN10/CPS10/MDMIN/TX/CK/RX/DT/SDA2/SDI2/SDO1" Pin9="RB3/AN9/CPS9/MDOUT/CCP1/P1A" Pin10="RB4/AN8/CPS8/SCL1/SCK1/MDCIN2" Pin11="RB5/AN7/CPS7/P1B/TX/CK/SCL2/SCK2/SS1" Pin12="RB6/AN5/CPS5/T1CKI/T1OSI/P1C/CCP2/P2A/ICSPCLK" Pin13="RB7/AN6/CPS6/T1OSO/P1D/P2B/MDCIN1/ICSPDAT" Pin14="Vdd" Pin15="RA6/OSC2/CLKOUT/CLKR/P1D/P2B/SDO1" Pin16="RA7/OSC1/CLKIN/P1C/(CCP2)/P2A" Pin17="RA0/AN0/CPS0/C12IN0-/SDO2" Pin18="RA1/AN1/CPS1/C12IN1-/SS2" [Ports] PortPin1=0x0002 PortPin2=0x0003 PortPin3=0x0004 PortPin4=0x0005 PortPin6=0x0100 PortPin7=0x0101 PortPin8=0x0102 PortPin9=0x0103 PortPin10=0x0104 PortPin11=0x0105 PortPin12=0x0106 PortPin13=0x0107 PortPin15=0x0006 PortPin16=0x0007 PortPin17=0x0000 PortPin18=0x0001 [PortMasks] PortMask0=0xFF PortMask1=0xFF [ADCPins] ADC0=17 ADC1=18 ADC2=1 ADC3=2 ADC4=3 ADC5=12 ADC6=13 ADC7=11 ADC8=10 ADC9=9 ADC10=8 ADC11=7 [ADC_ConvSpeed] Count=7 Opt1=Fosc / 2 Opt1_Val=0 Opt2=Fosc / 8 Opt2_Val=1 Opt3=Fosc / 32 Opt3_Val=2 Opt4=FRC Opt4_Val=3 Opt5=Fosc / 4 Opt5_Val=4 Opt6=Fosc / 16 Opt6_Val=5 Opt7=Fosc / 64 Opt7_Val=6 [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="\nvoid main()\n{\n" MainEnd="\tmainendloop: goto mainendloop;\n}\n\n" IntStart="void MX_INTERRUPT_MACRO(void)\n{\n" IntEnd="}\n\n" Initialise="ansela = 0x00;\nanselb = 0x00;\n" IntInit="option_reg = 0xC0;\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__CONFIG(%v);\n#endif\n" IntHandler="#ifndef MX_INTHANDLER_%r_%b\n#define MX_INTHANDLER_%r_%b\nif (ts_bit(%r, %b))\n{\n\tFCM_%n();\n\tcr_bit(%r, %b);\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif" [Defines] Define1=#define P16F1847 Define2=#define FC_CAL_PIC Define3=#define MX_ADC Define4=#define MX_ADC_TYPE_23 Define5=#define MX_ADC_BITS_10 Define6=#define MX_EE Define7=#define MX_EE_TYPE3 Define8=#define MX_EE_SIZE 256 Define9=#define MX_SPI_1 Define10=#define MX_SPI_1_MISO_PORT portb Define11=#define MX_SPI_1_MISO_TRIS trisb Define12=#define MX_SPI_1_MISO_PIN 1 Define13=#define MX_SPI_1_MOSI_PORT portb Define14=#define MX_SPI_1_MOSI_TRIS trisb Define15=#define MX_SPI_1_MOSI_PIN 2 Define16=#define MX_SPI_1_CLK_PORT portb Define17=#define MX_SPI_1_CLK_TRIS trisb Define18=#define MX_SPI_1_CLK_PIN 4 Define19=#define MX_SPI_1_SS_PORT portb Define20=#define MX_SPI_1_SS_TRIS trisb Define21=#define MX_SPI_1_SS_PIN 5 Define22=#define MX_SPI_2 Define23=#define MX_SPI_2_MISO_PORT portb Define24=#define MX_SPI_2_MISO_TRIS trisb Define25=#define MX_SPI_2_MISO_PIN 2 Define26=#define MX_SPI_2_MOSI_PORT porta Define27=#define MX_SPI_2_MOSI_TRIS trisa Define28=#define MX_SPI_2_MOSI_PIN 0 Define29=#define MX_SPI_2_CLK_PORT portb Define30=#define MX_SPI_2_CLK_TRIS trisb Define31=#define MX_SPI_2_CLK_PIN 5 Define32=#define MX_SPI_2_SS_PORT porta Define33=#define MX_SPI_2_SS_TRIS trisa Define34=#define MX_SPI_2_SS_PIN 1 Define35=#define MX_UART_1 Define36=#define MX_UART_1_TX_PORT portb Define37=#define MX_UART_1_TX_TRIS trisb Define38=#define MX_UART_1_TX_PIN 5 Define39=#define MX_UART_1_RX_PORT portb Define40=#define MX_UART_1_RX_TRIS trisb Define41=#define MX_UART_1_RX_PIN 2 Define42=#define MX_I2C Define43=#define MX_I2C_1 Define44=#define MX_I2C_1_SDA_PORT portb Define45=#define MX_I2C_1_SDA_TRIS trisb Define46=#define MX_I2C_1_SDA_PIN 1 Define47=#define MX_I2C_1_SCL_PORT portb Define48=#define MX_I2C_1_SCL_TRIS trisb Define49=#define MX_I2C_1_SCL_PIN 4 Define50=#define MX_I2C_2 Define51=#define MX_I2C_2_SDA_PORT portb Define52=#define MX_I2C_2_SDA_TRIS trisb Define53=#define MX_I2C_2_SDA_PIN 2 Define54=#define MX_I2C_2_SCL_PORT portb Define55=#define MX_I2C_2_SCL_TRIS trisb Define56=#define MX_I2C_2_SCL_PIN 5 Define57=#define MX_PWM Define58=#define MX_PWM_CNT 4 Define59=#define MX_PWM_PSCA1 Define60=#define MX_PWM_PSCA4 Define61=#define MX_PWM_PSCA16 Define62=#define MX_PWM_1_PORT portb Define63=#define MX_PWM_1_TRIS trisb Define64=#define MX_PWM_1_PIN 3 Define65=#define MX_PWM_2_PORT portb Define66=#define MX_PWM_2_TRIS trisb Define67=#define MX_PWM_2_PIN 6 Define68=#define MX_PWM_3_PORT porta Define69=#define MX_PWM_3_TRIS trisa Define70=#define MX_PWM_3_PIN 3 Define71=#define MX_PWM_4_PORT porta Define72=#define MX_PWM_4_TRIS trisa Define73=#define MX_PWM_4_PIN 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=8 1=TMR0 2=RB0INT 4=PORTB 5=RXINT 6=TMR2 3=TMR1 7=TMR4 8=TMR6 [TMR0] Name="TMR0" HandlerCode="#ifndef MX_INTHANDLER_intcon_TMR0IF\n#define MX_INTHANDLER_intcon_TMR0IF\nif (ts_bit(intcon, TMR0IF) && ts_bit(intcon, TMR0IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(intcon, TMR0IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" 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(option_reg,T0CS);\n" Opt1_2="Internal clock (CLKO)" Opt1_2Val="cr_bit(option_reg,T0CS);\n" Opt2="Source Edge Select" Opt2Cnt=2 Opt2_1="high-to-low transition on TMR0 Clock" Opt2_1Val="st_bit(option_reg,T0SE);\n" Opt2_2="low-to-high transition on TMR0 Clock" Opt2_2Val="cr_bit(option_reg,T0SE);\n" Opt3="Prescaler Rate" Opt3Cnt=9 Opt3_1="1:1" Opt3_1Val="option_reg = (option_reg & 0xF0) | 0x08;\n" Opt3_2="1:2" Opt3_2Val="option_reg = (option_reg & 0xF0) | 0x00;\n" Opt3_3="1:4" Opt3_3Val="option_reg = (option_reg & 0xF0) | 0x01;\n" Opt3_4="1:8" Opt3_4Val="option_reg = (option_reg & 0xF0) | 0x02;\n" Opt3_5="1:16" Opt3_5Val="option_reg = (option_reg & 0xF0) | 0x03;\n" Opt3_6="1:32" Opt3_6Val="option_reg = (option_reg & 0xF0) | 0x04;\n" Opt3_7="1:64" Opt3_7Val="option_reg = (option_reg & 0xF0) | 0x05;\n" Opt3_8="1:128" Opt3_8Val="option_reg = (option_reg & 0xF0) | 0x06;\n" Opt3_9="1:256" Opt3_9Val="option_reg = (option_reg & 0xF0) | 0x07;\n" [RB0INT] Name="INT" REMask=0x00,0x01 FEMask=0x00,0x01 ConfOpt=0x03 EdgeOpt=0x01 HandlerCode="#ifndef MX_INTHANDLER_intcon_INTF\n#define MX_INTHANDLER_intcon_INTF\nif (ts_bit(intcon, INTF) && ts_bit(intcon, INTE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(intcon, INTF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(intcon, INTE);\n" DisableCode="cr_bit(intcon, INTE);\n" OptCnt=1 Opt1="Interrupt Edge Select" Opt1Cnt=2 Opt1_1="rising edge of INT" Opt1_1Val="st_bit(option_reg,INTEDG);\n" Opt1_2="falling edge of INT" Opt1_2Val="cr_bit(option_reg,INTEDG);\n" [PORTB] Name="PORT" REMask=0x00,0xFF FEMask=0x00,0xFF ConfOpt=0x0F HandlerCode="#ifndef MX_INTHANDLER_intcon_IOCIF\n#define MX_INTHANDLER_intcon_IOCIF\nchar mxtmp;\nif (ts_bit(intcon, IOCIF) && ts_bit(intcon, IOCIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tmxtmp=portb;\n\tcr_bit(intcon, IOCIF);\n\tiocbf=0;\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="iocbp=%pB0h;\niocbn=%pB0l;\nst_bit(intcon, IOCIE);\n" DisableCode="cr_bit(intcon, IOCIE);\n" OptCnt=0 [RXINT] Name="RXINT" HandlerCode="#ifndef MX_INTHANDLER_pir1_RCIF\n#define MX_INTHANDLER_pir1_RCIF\nif (ts_bit(pir1, RCIF) && ts_bit(pie1, RCIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(pir1, RCIF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(pie1, RCIE);\nst_bit(intcon, PEIE);\n" DisableCode="cr_bit(pie1, RCIE);\n" OptCnt=0 [TMR2] Name="TMR2" HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR2IF\n#define MX_INTHANDLER_pir1_TMR2IF\nif (ts_bit(pir1, TMR2IF) && ts_bit(pie1, TMR2IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(pir1, TMR2IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" 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" [TMR1] ;NOTE: this osc is enabled and turned on as part of the Opt1 code Name="TMR1" HandlerCode="#ifndef MX_INTHANDLER_pir1_TMR1IF\n#define MX_INTHANDLER_pir1_TMR1IF\nif (ts_bit(pir1, TMR1IF) && ts_bit(pie1, TMR1IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(pir1, TMR1IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" 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,TMR1CS1);\n" Opt1_2="Internal clock (Fosc/4)" Opt1_2Val="st_bit(intcon,PEIE);\nst_bit(t1con,T1OSCEN);\nst_bit(t1con,TMR1ON);\ncr_bit(t1con,TMR1CS1);\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" [TMR4] Name="TMR4" HandlerCode="#ifndef MX_INTHANDLER_pir3_TMR4IF\n#define MX_INTHANDLER_pir3_TMR4IF\nif (ts_bit(pir3, TMR4IF) && ts_bit(pie3, TMR4IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(pir3, TMR4IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(pie3, TMR4IE);\n" DisableCode="cr_bit(pie3, TMR4IE);\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(t4con,T4CKPS0);\ncr_bit(t4con,T4CKPS1);\nst_bit(t4con,TMR4ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(intcon,PEIE);\nst_bit(t4con,T4CKPS0);\ncr_bit(t4con,T4CKPS1);\nst_bit(t4con,TMR4ON);\n" Opt1_3="1:16" Opt1_3Val="st_bit(intcon,PEIE);\ncr_bit(t4con,T4CKPS0);\nst_bit(t4con,T4CKPS1);\nst_bit(t4con,TMR4ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t4con = t4con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t4con = (t4con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t4con = (t4con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t4con = (t4con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t4con = (t4con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t4con = (t4con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t4con = (t4con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t4con = (t4con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t4con = (t4con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t4con = (t4con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t4con = (t4con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t4con = (t4con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t4con = (t4con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t4con = (t4con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t4con = (t4con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t4con = (t4con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr4=%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" [TMR6] Name="TMR6" HandlerCode="#ifndef MX_INTHANDLER_pir3_TMR6IF\n#define MX_INTHANDLER_pir3_TMR6IF\nif (ts_bit(pir3, TMR6IF) && ts_bit(pie3, TMR6IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(pir3, TMR6IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\n}\n#else\n#warning "This interrupt has previously been enabled, so the macro <%n> may never get called."\n#endif\n" EnableCode="st_bit(pie3, TMR6IE);\n" DisableCode="cr_bit(pie3, TMR6IE);\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(t6con,T6CKPS0);\ncr_bit(t6con,T6CKPS1);\nst_bit(t6con,TMR6ON);\n" Opt1_2="1:4" Opt1_2Val="st_bit(intcon,PEIE);\nst_bit(t6con,T6CKPS0);\ncr_bit(t6con,T6CKPS1);\nst_bit(t6con,TMR6ON);\n" Opt1_3="1:16" Opt1_3Val="st_bit(intcon,PEIE);\ncr_bit(t6con,T6CKPS0);\nst_bit(t6con,T6CKPS1);\nst_bit(t6con,TMR6ON);\n" Opt2="Postscaler Rate" Opt2Cnt=16 Opt2_1="1:1" Opt2_1Val="t6con = t6con & 0x07;\n" Opt2_2="1:2" Opt2_2Val="t6con = (t6con & 0x07) | 0x08;\n" Opt2_3="1:3" Opt2_3Val="t6con = (t6con & 0x07) | 0x10;\n" Opt2_4="1:4" Opt2_4Val="t6con = (t6con & 0x07) | 0x18;\n" Opt2_5="1:5" Opt2_5Val="t6con = (t6con & 0x07) | 0x20;\n" Opt2_6="1:6" Opt2_6Val="t6con = (t6con & 0x07) | 0x28;\n" Opt2_7="1:7" Opt2_7Val="t6con = (t6con & 0x07) | 0x30;\n" Opt2_8="1:8" Opt2_8Val="t6con = (t6con & 0x07) | 0x38;\n" Opt2_9="1:9" Opt2_9Val="t6con = (t6con & 0x07) | 0x40;\n" Opt2_10="1:10" Opt2_10Val="t6con = (t6con & 0x07) | 0x48;\n" Opt2_11="1:11" Opt2_11Val="t6con = (t6con & 0x07) | 0x50;\n" Opt2_12="1:12" Opt2_12Val="t6con = (t6con & 0x07) | 0x58;\n" Opt2_13="1:13" Opt2_13Val="t6con = (t6con & 0x07) | 0x60;\n" Opt2_14="1:14" Opt2_14Val="t6con = (t6con & 0x07) | 0x68;\n" Opt2_15="1:15" Opt2_15Val="t6con = (t6con & 0x07) | 0x70;\n" Opt2_16="1:16" Opt2_16Val="t6con = (t6con & 0x07) | 0x78;\n" Opt3="Rollover Value" Opt3Cnt=5 Opt3_1="256" Opt3_1Val="pr6=%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"