Hi all,
I'm experimenting with a 16-bit micro for the first time and, as I've traditionally used PICs for all my designs (I'm not a fanboy I just stick to what I know), I decided to give the PIC24F series a go. To that end, I've started designing a development board that I can play around with.
Now that I'm starting to go through the datasheet for the device in some detail, I've found that the port mappings for it are a real pain in the backside. Details as follows:
Ports B and D are full 16-bit wide ports, so no problem there.
Port A is only 12 bits wide, and instead of just mapping them as RA0 to RA11 they've done it as follows: RA0 to RA7, RA9 to RA10, and then RA14 to RA15. WHY?!?!
Port C is even more annoying. It's only a 6-bit port for a start, which is pretty annoying as it means you can't use it for any 8-bit wide tasks, but the REALLY annoying thing is the way they've mapped it: RC1 to RC4 (yes that's right, no RC0) and then RC12 to RC15.
Other ports are mapped in a similarly annoying fashion.
I don't understand why they would design it this way. It's not a show stopper of course - I can create bit masks to make sure I write to the bits that I want to - but I just find the port mappings to be unnecessarily annoying.
Any comments?
Device in question: PIC24FJ128GA010
Brian H