If you want to use all the pins on your PIC as general Input/Output, you must first enable the DIGITAL inputs that are multiplexed with the ADC and Comparator pins.
MICROCHIP in their infinite(simal) wisdom has DISABLED the DIGITAL inputs on Power-Up. Leaving everyone to figure out which of the 10 different ways they need to use to turn them on for the chip they're programming at any given time.

Sometimes it's ADCON1 and CMCON, other times it's ANSEL and CMCON0, and still others it might take ANSELA ANSELB ANSELC and ANSELD.
This file is an attempt to rectify that situation.
I've tested it on all the common chips we use with PBP, and it workes extremely well.
<hr>
Simply INCLUDE the file, and all PINs will have any DIGITAL inputs enabled. Whether it's the A/D converter or the Comparator(s).
A single line will remove that big thorn from your ...
Code:
INCLUDE "ALLDIGITAL.pbp"
Code:
DEFINE SHOWDIGITAL 1
Code:
... MESSAGE:(ADCON1 = 7) ... MESSAGE:(CMCON = 7)
If it shows a 0x7F type number, change it to $7F.
Or for better compatibility, you can leave the INCLUDE in your program, and it will work with whatever chip you are compiling for.
Here's a simple example for blinking an LED on PORTA.0, without worrying about the analog registers.
Code:
INCLUDE "ALLDIGITAL.pbp"
Main:
TOGGLE PORTA.0
PAUSE 500
GOTO Main
<br>


Menu
Converting PBP interrupt to ASM - 18F25K20
I have a couple interrupt routines using DT's instant interrupts in PBP that I'd like to convert to asm to reduce execution time. One of the ISRs uses an external interrupt to time pulses and store...
achilles03 Today, 18:10