In the past, I had believed that the two best C compilers for PIC microcontrollers were made by HI-TECH and Microchip. I didn’t give much thought to CCS C as there are many other PIC C compilers in the market. I was pleasantly surprised when I gave CCS C a try.
- Very easy to get started with and use.
- Produces compact code.
- Huge built in library of functions for peripherals and so on.
- Large user-submitted forum code library and large user base.
- Great support for many PIC devices from the low end 12 bit PICs (PIC10F) to the 14 bit PICs (PIC12F, PIC16F) to the high end PICs (PIC18F) to the DSPICs.
- Powerful command line interface for the compiler.
- Runs on Windows and Linux natively, (no need for WINE). However, the Linux version is lagging behind two updates (Linux: 4.085; Windows: 4.087).
- MPLAB integration.
- Well documented user manual – easy to read and understand.
- Good support for data types, but could be improved (for example, by adding 64 bit data types).
- Horrible, ugly, and otherwise inaccessible and intrusive user interface. Although beauty is in the eye of the beholder, I strongly believe that they could have made their IDE more pleasant to use by:
- Using a standard widget set and not their horrible custom MS Office 2007 knock-off.
- Making things easier to access by placing accessible buttons that perform common actions (open datasheet, open compiler manual, etc.)
- Can be buggy sometimes and can be frustrating when you’re searching for a problem in your code and it’s actually the compiler’s fault. The CCS team needs to be a bit more careful with their updates.
All in all, the extensive code library and shallow learning curve make this compiler very suitable for hobby projects where you can actually spend time working on your project and not worrying about hunting down libraries or writing lengthy drivers.