Olin wrote: > > Joe Bento wrote: > >> I'm currently concentrating on the 10/12/16 PICs since I have a small >> collection of several devices. > > While I know it's possible, I really wouldn't want a compiler between me > and > a 12 bit core PIC for any real project. True. Even for the examples in my baseline (12-bit core) C tutorials (http://www.gooligum.com.au/tut_baseline_C.html) it became quite apparent, as the examples became more complex, that both the HI-TECH and CCS C compilers I was using were struggling. The tutorials showed how to implement the examples from my baseline PIC assembler tutorials (http://www.gooligum.com.au/tut_baseline.html) in C, using the free compilers bundled with MPLAB. Flashing LEDs is no problem. But when it came to replicating the assembler lesson where I implemented a buffer to demonstrate indirect addressing, neither C compiler was able to correctly generate code for accessing an array placed in bank 1. I can understand why - indirect memory access and bank selection are intertwined in the baseline architecture, because FSR is used for both - so getting it right is tricky, especially when very little shared memory is available. As I said, it was beyond either compiler. I also had to battle compiler bugs (acknowledged by the vendors after I reported them) and poorly documented built-in functions at various times. Overall, unless what you're doing is trivial, forget C on baseline PICs. David Meiklejohn www.gooligum.com.au -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist