Pic16 vs Pic18 vs AVR, Picbasic Vs Proteus Vs ASM Vs Hitech C Vs MPlabs c18


Closed Thread
Results 1 to 23 of 23

Hybrid View

  1. #1
    toalan's Avatar
    toalan Guest

    Default Pic16 vs Pic18 vs AVR, Picbasic Vs Proteus Vs ASM Vs Hitech C Vs MPlabs c18

    The mother of camparisions. Over the past few months the project I have been working on projects which have demanded a fast processor and a compiler that is full featured and generates tight code. So I have changed platforms, and changed tool suites like there was no tommorow, here are my conclusions.

    Pic16Fxxx: Slow. If you want to make blinking lights it is fine

    Pic18Fxxx: If you are gonna use a pic you might as well start using the Pic18 instead, they are just as cheap as the Pic16 and generally offer better bang for the buck. The biggest Plus is that you can download a 60 day trial of the MPLABS C18 compiler for free to work with Pic18.

    AVR: Great platform, more features than PIC, and faster. Huge amount of language support for this platform. Better value than the PIC.

    PicBasic: Slow, generates big code, very user friendly actually painfully user friendly as it tends to castrate many of the hardware features on the PIC.

    Proteus: better than Picbasic, but not by far. Castration issues as with Picbasic.

    Hitech C for PIC: Complicated, you would think you are doing a PHD thesis when you read the 500 page manual. This is the exact opposite of Picbasic or Proteus, userfriendlyness was the last thing they considered. If you have time it should be great. DOes not seem to have much support for special hardware features.

    MPLABS C18: C compiler for PIC18 platform. Integrates into MPLAB IDE, great manual, great interface, generate efficient code, not overly complex to use and has great support for special hardware. By far the best compiler for the PIC, i switched to Pic18 just because of this great compiler and the fact that it is free.

    PIC ASM: started writing my own math 16 bit routines and gave up, good for blinking lights but bad for anything complex.

    Summary: If you must choose PIC then you would be a fool not to choose the PIC18 and the free MPLABS c18 compiler. If you must use PIC16 then use whatever language you want, since you probally aren't after fast or efficient code, just something that is easy and quick.

    If you are looking to learn something new and want a better platform, Use AVR. However I have found that the language suites are not as well designed as that of the PIC, really the best language suite I have found for embedded systems is MPLABS C18. If they had a compiler of similar caliber and a manual as concise as that of MPLABS C18 there would really be no reason to use the PIC platform at all.

    So if you want the best hardware then choose AVR but if you are after quality compilers then choose PIC. I am not putting Picbasic or proteus down, they are actually very easy to use and generally do most jobs well, but there are definite limits to what you can do with those tools. And there are definte limits to what the pic can do.

  2. #2
    toalan's Avatar
    toalan Guest


    Did you find this post helpful? Yes | No

    Default

    Well just want add one more thing.

    I a both thankful and regretful for starting out using the PIC. Thankful that it was easy to get into and regretful that I invested so much time and oney on a platform that is not as great as other platforms. If I had started out with AVR maybe I would of given up doing anything in ebedded systems because of the learning curve and just done everything using discrete electronics.

  3. #3
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    Good comparison, but there are many issues to consider beyond simple "what is the fastest" or "best bang for buck". There's always going to be a "new kid on the block", but you might not want to hastily jump into bed with him!

  4. #4
    toalan's Avatar
    toalan Guest


    Did you find this post helpful? Yes | No

    Default

    I beg to differ, I love jumping into beds with new kids. AVR is not a new kid on the block really since they were avialable in the early to mid 90s. You are right that there are alot of other factors involved. Pic does have excellent datasheets, i perfer the pic datasheets over atmel datasheets. Also pics are very tough, it can take a good wack of voltage or force and still perform, they also offer very high flash write cycles. Pics also have lots of goodies for motor control and offer an abundance of A/D ports. My biggest biggest dissapointment is that I have yet to find a pic that can offer PWM of 2 or more frequencies, i really needed that bad.

    But honestly everywhere I go people ask why I use the PIC and not the AVR or ARM platform, the simple truth was that I already bought a programmer, bought many PICS, bought several language suites, invested so much time in them that I really did not have the luxury of switching. I can not tell you how many times i had to comprimise my design objectives because the PIC just could not cut the mustard. Most comprimises worked out very well, but sometimes I wonder what I would of achieved with a more powerful platform.

    Not all is peaches and cream with the AVR, the documentation of the C language suites is very bad, and to top it off I really knew very little about object oriented C to begin with. For a harware platform that is so good the software sure is nasty. Man imagine what I could do if I had a great toolsuite with excellent documentation and a good forum. Yup the grass is always greener on the other side.

    The biggest thing I want to get across to anyone reading this is to try out different platforms and different languages.

  5. #5
    toalan's Avatar
    toalan Guest


    Did you find this post helpful? Yes | No

    Default

    Umm after re-reading my post I think I came across as "dissing" PICBASIC and its like. Picbasic really is a decent language, I am so comfortable coding in Picbasic and in all truthfullness with a bit more work picbasic would be "all that and a bag of chips". A much more detailed manual would be nice, the manual is something like 300 pages, it sound like alot but the font and the spacing is huge. If the authors put alot more detail in there then that would be fantastic. How bout a book mark tab in the PDF manual? Better support for hardware is another thing that is required, for example most PWM hardware on PICs support 10 bit but PICbasic only offers 8 bit, or how bout having a real interrupt routine. Maybe getting rid of some routines that are a bit odd, the RC time thing was odd, and what is the real difference between SERIN and SERIN 2?

  6. #6
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Talking

    Hi, Toalan

    I've found Mel very very kind in her answer ...

    you just have to know what you really want ... should be difficult !!!

    ... for your charge pump: this is simply called a capacitor ...

    Alain

Similar Threads

  1. Instant Interrupts - Revisited
    By Darrel Taylor in forum Code Examples
    Replies: 772
    Last Post: - 17th February 2016, 22:14

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts