PIC 16F877A

thatoneguy

Joined Feb 19, 2009
6,359
Another thumbs for SourceBoost C

They have some excellent libraries (so does MikroElectronica C). The bright side is that SourceBoost C is EXTREMELY CHEAP! Unlimited RAM/ROM for about $70, that incudes $10 for simulated LCD and a few other IDE components.

Sadly, PIC C Compilers have followed the "Windows Way" rather than any sort of standards, such as port names, register names, etc. Most code written for other compilers generally needs to be re-written, or a lot of definitions/variables changed/renamed.
 

atferrari

Joined Jan 6, 2004
5,022
Another thumbs for SourceBoost C
Sadly, PIC C Compilers have followed the "Windows Way" rather than any sort of standards, such as port names, register names, etc. Most code written for other compilers generally needs to be re-written, or a lot of definitions/variables changed/renamed.
If that is true, which I do not doubt, portability is more an idea than a reality. Isn't it?

I do not know C thus have no experience on this.
 

thatoneguy

Joined Feb 19, 2009
6,359
Portable C applications between compilers is difficult by the inherent nature of their usually dissimilar internal peripherals, even when working with a single vendor (Microchip or Atmel). Atmel is much further with C and portatibility.

Where some compilers set up an LCD to respond to printf, I have found BoostC "lcdgotoxy" and "lcdwrite" functions much more straightforward and easy to follow. With PIC C Compilers, there really isn't a set of "Standard Libraries" as programmers are used to thinking.

Compilers which have been well written and easy to use libraries for LCD, PWM, ADC, I2C, SPI, etc are great. I wish those particular "common to embedded" eventually turned into a "Standard Library" that worked with all compilers.

We are at the "Borland/Microsoft" compiler split of 20 years ago, but in the PIC World with many more players. I could be happy if register and port naming was somehow standardized, at least between PIC C compilers, and ideally between PIC and Atmel platforms.
 
Top