Learning more about PIC
A few comments about the PICkit 2 learning experience.
There's a slight bit of polish that could be applied to the example code.
I also got bitten by the issue mentioned briefly in the PICkit 2 release note: if you program the examples from the IDE, the IDE forces the line controlled by the push-button low, meaning the push-button examples fail to work, unless you program the device from the dedicated programming application and the .HEX file produced by the IDE.
I am slightly disappointed that there doesn't seem to be any visible progress getting the PICkit 2 with version 2 firmware to work under Mac OS X.
Also,I find a real lack of documentation of the PICkit 2 "Debug Express" support for in-circuit debugging. This may be because Microchip doesn't want to undercut sales of the MPIDE 2 hardware. I think, however, one can use a combination of the AC162061 (containing an ICD version of the 16F690) and AC164110 (to convert the ICSP six-pin interface to the modular plug used by the usual ICD interface) to do in-circuit debugging of 16F690 applications with the PICkit 2, at an additional cost of about $50.
I've started sketching out some ideas for interfacing the Symbolics keyboard on a dedicated page.
[UPDATE: Microchip does, after all, document the PICkit 2 Debug Express hardware requirements (scroll down a bit to see what I missed before.) I ordered the combination even before I found the document, and when the backorder is filled, I will be giving it a try myself.]
[UPDATE: Jeff Post announced that he releasing alpha code supporting v2 firmware for the PICkit 2 on Linux/Mac OS X]
There's a slight bit of polish that could be applied to the example code.
- A few redundant instructions, such as
- Extraneous operations setting register pages
- In A-to-D examples, the data sheet seems to say the 5 microsecond settling time is needed only when changing the input source, not for every conversion, as in the examples
- For the 5 microsecond interval, a few of those microseconds are covered by the non-NOP instructions before the conversions
- In one of the variable-speed rotating bits examples, the carry flag is not explicitly cleared when it needs to be clear. When I modified the example to change the sign of the pot setting-to-delay conversion, I would sometimes set the carry, putting extra bits into the display. Took me a good fifteen minutes to debug that.
- I think a few extra instructions are wasted using the W register and an explicit move to the file register when the file register destination could be used instead
I also got bitten by the issue mentioned briefly in the PICkit 2 release note: if you program the examples from the IDE, the IDE forces the line controlled by the push-button low, meaning the push-button examples fail to work, unless you program the device from the dedicated programming application and the .HEX file produced by the IDE.
Also,
I've started sketching out some ideas for interfacing the Symbolics keyboard on a dedicated page.
[UPDATE: Microchip does, after all, document the PICkit 2 Debug Express hardware requirements (scroll down a bit to see what I missed before.) I ordered the combination even before I found the document, and when the backorder is filled, I will be giving it a try myself.]
[UPDATE: Jeff Post announced that he releasing alpha code supporting v2 firmware for the PICkit 2 on Linux/Mac OS X]
Comments
Post a Comment