PDA

View Full Version : Moving from Basic Stamp and MIKROE basic to PicBasic PRO



CuriousOne
- 24th February 2013, 16:01
Hello.

I'm not entirely sure whenever this is the right place to ask my questions, but I'll give a try.

I do some electronics gadget, for which I needed simple automation tasks - say sent defined number of pulses over certain amount of time, get data from RTC and log specific voltages for some time and so on.

I wanted simpler and easier solution, so I checked online and selected parallax basic stamp. While I liked the documentation, guides and ease of use, I don't liked a price I have to pay, to integrate basic stamp solution in my project. I don't need propeller, basic stamp is enough for me, but I needed CHEAPER solution. So this is why I decided to go to more advanced level. I googled further and found MIKROE website. All descriptions and things looked great, so I bought their PIC KIT (includes manuals, easy pic board v.7, usb dongle, lcd screens, etc). When it all arrived, I shortly found out that it was just glittery paper - documentation incomplete, proto board of very low quality, support very agressive and anti-customer oriented. So, I decided to give up with MIKROE and look for something different.

PIC BASIC Pro appears to be promising, but I have a couple of questions, answers for which I hope to receive here:

Can I use Easy Pic v.7 development board (programmer, hardware, incd debugger) with pic basic pro ?

As I can guess from sample code provided with trial of picbasic pro, the syntax is quite limited, compared to basic stamp, and for each MCU used, you have to know and remember names of all registers, output-input ports, mode of ports and so on. So, for example when with basic stamp you say simply type text like PORT(X)=1 and it will set port #1 high, regardless of MCU used, here you can't do the same, you have first to know which MCU uses which naming for ports, and then use the command?

Also, in basic stamp, you knew which stamp was able doing which command. Here, you have no data, right? for example, I'm pretty sure, 16F628 and 18F455 are totally different and 455 can do much more than 628 do, right?

Thanks in advance,

Alex

HenrikOlsson
- 24th February 2013, 16:33
Hi Alex,
Welcome to the forum.
I haven't tried MikroE's compilers but I have used a couple of their development boards and have found them to be of very high quallity, especially concidering the price. I currently have a EasyPIC7 which I upgraded to from am EasyPIC4 but I haven't used it much yet. I also have a PICPLC16 which I've used extensively and a couple of other small boards. Anyway...

Can I use Easy Pic v.7 development board (programmer, hardware, incd debugger) with pic basic pro ?
You can definitely use the board and the onboard programmer with its software to program the .hex files produced by PBP into the PIC you place on the board. It'll be a two step process though, first you compile the program, then you load the .hex file into the programmer software and program the PIC. Unfortunatley they don't provide a command line interface for their programmer so it can be "run" from within MicrocodeStudio (which is the "standard" IDE for PBP). The debugger however is tightly integrated into their IDE and their IDE is tightly coupled to their compilers so you can't use PBP with it. So, the board and the programmer will work just fine with PBP, the debugger will not.


As I can guess from sample code provided with trial of picbasic pro, the syntax is quite limited, compared to basic stamp, and for each MCU used, you have to know and remember names of all registers, output-input ports, mode of ports and so on. So, for example when with basic stamp you say simply type text like PORT(X)=1 and it will set port #1 high, regardless of MCU used, here you can't do the same, you have first to know which MCU uses which naming for ports, and then use the command?

That's because there's only a couple of BASICStamps while there are hundreds of PICs and PBP support all of them (all 8-bit ones that is). There is a file which you can include in your PBP source file that gives you the same names as the ones used in the BS2 for example. That may be convenient at first but really only limits you once you start getting into it. It's not that hard really, and naming conventions across chips and even families of chips are all the same. Ports are named PortA, PortB, PortC etc (except for some smaller PICs where they are called GPIO) and the Microchip datasheets are great. So, as long as the PIC has a PortB, you'll do PortB.0 = 1 to set bit 0 of of PortB high, regardless of the PIC just as with the BasicStamp.


Also, in basic stamp, you knew which stamp was able doing which command. Here, you have no data, right? for example, I'm pretty sure, 16F628 and 18F455 are totally different and 455 can do much more than 628 do, right?
In generall all PICs can do all commands. There are of course exceptions and they are the commands which uses hardware peripherals of the PIC. For example the USB commands obviously won't work on a PIC that doesn't have a USB peripheral, the HSEROUT command won't work on a PIC which doesn't have a USART, the ADCIN command won't work on a PIC that doesn't have an ADC and so on. Compiling a list of that would be an absolute monumental task and new PICs gets added to the Microchip line up "all the time".

I hope that clears some of your questions up.

/Henrik.

CuriousOne
- 24th February 2013, 16:55
Thanks Henrik, your information really was helpful. Now I'm reading pic basic pro manual, hope it will clear another set of questions I already have :)

Regarding the easy pic v7 board, my specimen has the following problems:

1. Included LCD module (especially 2x16 one) is very low contrast and no backlight - almost invisible daytime.
2. The handle of pot for lcd contrast adjustment broke off (no, I'm not beginner with electronics, I'm doing consumer equipment repairs for last 20 years)
3. A lot of jumpers when I lift them up, break.
4. Power supply part produces loud whinning noise.
5. The board manual says "it supports more than 250 microcontrollers of pic family" but does not specifies which ones are supported!
6. There is no information on specific jumper setting per specific MCU. I had to use google, which helped in case of PIC16F84A (someone already had that problem and asked them online) and I had to use guesswork in case of 16F628A.

Acetronics2
- 24th February 2013, 17:05
so I bought their PIC KIT (includes manuals, easy pic board v.7, usb dongle, lcd screens, etc). When it all arrived, I shortly found out that it was just glittery paper - documentation incomplete, proto board of very low quality, support very agressive and anti-customer oriented. So, I decided to give up with MIKROE and look for something different.

Alex

Hi, Alex

I think you're pretty UNfair here ... :

I have been using an Easypic 5 plus an EasyDSPic 6 for years, and compile my programs with either PicbasicPro, MikroC, CCS C, MikroBasic, Flowcode or "simply" use assembler ...
I will add MikroE docs are within the best I never saw in our little world ... and their compilers help section a real example !!!

from your post, I just see you do not like too much to read datasheets or Owner's manuals ...

Halas, without accepting such effort ... you won't go very far !

for the quality of those boards ... That's right they are low priced, but quality is more than what needed for those developement tools : just compare it to the similar tools sold from china and you will understand you're just angry not having got a " work by itself " tool ...

Once more, the solution is in your eyes and in your brain ... ONCE you've decided to read the docs ( yes, thousands of pages ! :D)

Idiotproof Self programming tools do not exist to the day ... whatever advertisements have promised you ...


Alain

HenrikOlsson
- 24th February 2013, 17:11
Oh, one that actually reads the manual, I'm sure you'll do great with PBP!
There are always helpful people around here if/when a question pops up, then of course you have the support from MELABS if needed.

The list of supported devices for the EASYPIC7 is on the product webpage (http://www.mikroe.com/easypic/). As the board supports over 250 different controllers having a list of the jumper settings for each one would IMO be kind of crazy if you ask me. But in general I agree, their documentation LOOKS great but the details are missing an many cases.

Anyway, I have a board here and I need to get familiar with it. If you have a question fire away and I'll see if I can figure it out.

Now, get back to RTFM ;-)

/Henrik.

CuriousOne
- 24th February 2013, 18:08
Yes, it seems that MIKROE hired a great designer/publisher, which prepared sleek, harmonized set of papers, which actually are unusable. For example, their reference book has black bold letters for main text, but code samples are given with thin CYAN color letters on YELLOW background - almost unreadable. I had to learn quite much in document editing, to change colors in that file before printing.

CuriousOne
- 24th February 2013, 19:00
Just now noticed the post (why posts are in reverse order anyway) regarding me being UNFair.

Ok, here below is the link to MIKROE forum, where you can read by yourself, what I asked (about what I was complaining) and what I received as answer.
Also, other problems with their documentation are clearly shown in that thread with examples:

http://www.mikroe.com/forum/viewtopic.php?f=97&t=50923&p=198324#p198255

(If anyone lazy to read, here's the problem. Imagine, you have MS word open, you have some document, did a little modification, and printed it. Amazingly you notice that "print" command also implies "save" command and your modified file was saved, overwriting the old one. Is this normal?)

And by the way, no one asks about idiotproof, self-writing solutions.

BASIC is considered to be high level languages, where one of the main characteristics of language is it's relatively high independence from actual hardware. But MIKROE does not thinks so. If I wanted to do in ASM, I can do it in ASM, but why then call it "BASIC" ?

Acetronics2
- 24th February 2013, 19:35
For example, their reference book has black bold letters for main text, but code samples are given with thin CYAN color letters on YELLOW background - almost unreadable.

Could you give a link to what you're talking about???

I didn't see anything looking to what you describe here ... for EasyPic 7 board.

Considering the Mk Basic Pro reference Manual ... I find there such colors, but have no difficulties to read it on my screen.

Printing it on a monochrome Black laser printer could be somewhat difficult to read ... Ok, but it's not THEIR problem, just YOURS ...
I already asked them for a paper manual ... ( yes, I did !!! ). The answer was ... " if enough people is Ok to pay for postage and printing, we'll do it ... "

Will you ???

I gave the .pdf file to my local print shop ( where students have their school end-of-year-reports printed @ low rates ...), and it didn't cost me too much to get a nice - in colours - book for Mk C.

a " no cost " solution (!) is obviously to hit the " HELP " button of the compiler or further to download the example projects from here: http://www.libstock.com/

Yess ... once more "RTFM" ...

Browsing their site ... you could have found: http://www.mikroe.com/products/view/476/pic-microcontrollers-programming-in-basic/ also available as a printed book for 24 $ ...

...

@Henrik


But in general I agree, their documentation LOOKS great but the details are missing an many cases

you're forgetting here they have a really great forum with numerous " official " guys to answer the details missing.
YES ! I do agree the only question never answered is " when will Mk xxx compiler/IDE be bugless released " ...
:D
Alain

CuriousOne
- 25th February 2013, 07:12
You don't see that does not neceserily means that it does not exist.

Yes, I also downloaded and printed in color, but it still looks weird. Why no other publishers choose to use suchk peacock-tail style colors?

and of yes, their forum is "great". When you ask, general answer will be "read the documentation", even if you ask totally different things.

Releasing poorly documented hardware is another "high standard".

What makes me especially funny, this is how they give their contact address here: http://www.mikroe.com/visitor_contacts/
Belgrade, EUROPE.
Without specifying the country, Serbia. They are ashamed to be Serbians?

I think it'll be better to finish mikroe discussion now. If anyone interested, I can sell the easy pic v7, usb dongle and everything which came with picbasic kit for half of it's retail price (I will even include the reference manual printed in color and assembled as book).

Regarding the microbasic pro, I've downloaded the trial version, and reading manual right now. I also have K149-BC PIC programmer which works just fine. So I'll use them together, without using mikroe board.

The software cames with sample led blink code. And it has some specific settings, which you need to uncomment, before compiling. But, since I want to use PIC16F628A, I need a different config settings, as I guess. I've checked relevant datasheet, and that code to be working, instead of ANSEL = %00000000 I should use TRISB = %00000000
right?
Also, I set oscillator to XT type in fuses config in programmer, to use internal osc.

HenrikOlsson
- 25th February 2013, 08:17
Agreed on dropping the MikroE discussion, there's nothing more to be gained from it.

I've checked relevant datasheet, and that code to be working, instead of ANSEL = %00000000 I should use TRISB = %00000000 right?
Not quite. ANSEL is a register which controls if the pins should be used for analog or digital. TRIS is the register controling the "direction" of the pins, when the pins are set to digital thru the ANSEL register... Makes sense?

The 16F628A doesn't have an ADC so there will be no ANSEL register to set but it does have a comparator module which may need to be configured properly, see the CMCON register.


Also, I set oscillator to XT type in fuses config in programmer, to use internal osc.
Nope, if you set it to XT it expects an external x-tal.

CuriousOne
- 25th February 2013, 09:40
Ok, so, as I guess, the code now should look like this:


Define OSC 4 ' 4MHz 'set internal osc to 4mhz
CMCON=0 'turn comparator off
VRCON=0 ' turn voltage reference off
TRISB = %00000000 'set direction of port B pins
LED VAR PORTB.0 ' Assign name "LED" to PORTB.0

mainloop:
High LED ' Turn on LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Low LED ' Turn off LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Goto mainloop ' Go back to loop and blink LED forever

End

HenrikOlsson
- 25th February 2013, 09:49
Hi,
That's a good start. Couple of notes:
DEFINE OSC 4 does not SET the oscillator to 4Mhz it simply tells the compiler at what speed you INTEND to run the chip so it (the compiler) can calculate delay loops etc.
CMCON = 0 does not turn off the comparator, look at the datasheet.

/Henrik.

CuriousOne
- 25th February 2013, 12:59
OK, understood. Going further. By googling I figured out that for my needs (using int. osc), I need to set fuses as follows:

Oscillator: IRCIO
WDT=OFF
LVP=OFF
MCLRE=OFF
PWRTE=ON

regarding the CMCON, by googling I found it to be set to 0x07, to disable comparators. However, I was not able to find that information in datasheet (I'm sure it is in there, just I'm looking in the wrong way).

Also, how should I set clock frequency? OSCF=%0000100 ?

HenrikOlsson
- 25th February 2013, 17:32
Hi,
The only config that has any actual impact on the oscillator would be the first one, the others have impact on other things but has nothing to do with the oscillator. In either case they look fine to me but if you want to set them from within your code you need get the naming correct, if you set them manually thru your programmer software it doesn't matter. If you have PBP3 I strongly suggest you open the DEVICE REFERENCE folder in the PBP3 installation directory and then open the PIC16F628.INFO (it's a plain text file). It shows you what default CONFIG PBP will use if you don't tell it otherwise and it shows you how to set whatever you want - in the code so you don't have to mess around with it in the programmer software.

As for CMCON, open the datasheet (http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf) (please use this one so we're looking at the same thing) and browse to the comparator section. Look at the description of the CMCON register and you'll see that bits 0-2 controlls the comparator mode with a note that figure 9-1 shows the various modes. Now flip the page to find figure 9-1 and find the one that suits you ie. both comparators off and you'll see that in order to do that bits 0-2 should be set - therefor CMCON = 7.

On the 16F628 you can't really set the frequency of the internal oscillator, you can switch it between 32kHz and 4MHz (I guess that's what you meant though) and that's done by clearing (32kHz) or setting (4MHz) the OSCF bit in the PCON register. If you look at the PCON register in the datasheet you'll see that the OCSF bit is bit 3 (not bit 2 which you seem to have in your code?). So PCON.3 = 1 or if you wish you can create an alias to the bit, like:

OSCF VAR PCON.3
OSCF = 1
With that said the default state of the OSCF bit is '1' so it will start up at 4MHz.

/Henrik.

CuriousOne
- 26th February 2013, 10:54
Ok, I've opened PIC16F628A.INFO file, and according to it:

; The PBP default configuration for the PIC16F628A is:
;
; #CONFIG
; __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF

So now, if I uncomment the line ; _FOSC_INTOSCCLK in that file, when I compile the program, the internal oscillator will be on by default?

This everything is very confusing, look there, read this, write this, care for this, care for that. And this is called HIGH LEVEL language? Maybe such approach was fine say 30 years ago, but now? where is progress? bulk increase in MHZ and KB ?

HenrikOlsson
- 26th February 2013, 11:36
Hi,
No, don't edit that file. If you want to change the CONFIG simply put them in YOUR program file and they will override the defaults. This is explained in the PBP3 manual and the file you just looked at.

#CONFIG
__config _INTRCIO & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
#ENDCONFIG
Please note that I'm not sure if INTRCIO is the correct term, I don't have access to the files to check right now.

Look, if we told you that PBP wouldn't allow you to use the internal oscillator then you'd be upset about that - why can't I do this or that, what kind of crap is this?. PBP has to use SOMETHING as default and it happens to be external x-tal for the 16F628 (and most others). Between the manual and the .info files it gives you ALL the information needed to change that and it both TELLS you and show you HOW to do it - for each and everyone of the supported devices, with comments on what every CONFIG setting does - you don't even have to open the datasheet for that.

PBP is a high level language but it also gives you a lot of power to do exactly what you want (for example use the internal oscillator). If you don't want to mess around then stick with the defaults (ie external x-tal), include the BS2defs to get the same names for pins etc as you're used to from the BasicStamp and be done with it. I know for a fact that even with the BasicStamps you need to know which device you're using. It's the same thing here except that now you have 250 devices to choose from instead of 4 or 5.

CuriousOne
- 26th February 2013, 11:54
Thank you very much for your help.

Can you please provide the working headers & config for pic16f628a ? because since led is not blinking, I'm not sure, whenever I'm programing it properly, or Easy PIC 7 connections/jumpers for 16f628a are correct.

Dave
- 26th February 2013, 11:59
Hey CURIOUSONE, If you are expecting the compiler to know what you are thinking then GOOD LUCK... Find me one that does....If you are so courious then read the data sheet. It's not like an Android cell phone everyone has where all you do is touch the screen and all your prayers are answered with someone elses code efforts. YOU have to do some of the work by reading the documentation. I get the bigest kick out of some of the people here on the forum asking for code already written for them, instead of doing the work them selfs. There is nothing wrong with asking questions but don't dis the compiler because you don't want to do any work on your own.

CuriousOne
- 26th February 2013, 12:31
Compiler may not known, but there are certain things, like ergonomics and usability, and this is where compiler's authors failed. In case of basic stamp, you need to press only one(!) button to let software know which chip you're using, and it will take care, not allowing you to put in the commands that aren't supported by selected chip and so on. This is so hard to implement? even for 250 chips? OK, maybe not 250 buttons, but some panel of choices, where you put checkmarks next to required clock speed, oscillator type, direction of ports and so on.

HenrikOlsson
- 26th February 2013, 14:09
I'll see if I can get a 16F628(A) with internal oscillator going tonight, provided I get the time.

IMO, once you start locking yourself in with graphical configuration etc you loose much the flexibility.

The compiler isn't invoked until you actually compile the program. You can write the word ADCIN in a program for a chip that doesn't have an ADC but the compiler will complain once you actually pass that program TO the compiler. It doesn't know if/what you might have done until you actually give it the file to compile.

Like I said in the my previous post, use the defaults and you're good to go.
The HIGH/LOW commands automatically sets the pin to output, the BUTTON, RCTIME, PULSIN etc automatically sets the pin to input. Same as on the stamps - you don't need to worry about it. The one thing you NEED to worry about is when using a pin which have an analog function - that's pretty much it.

Why don't you need to worry about the analog input pins on the BasicStamps? That's right because they don't even HAVE an ADC or hardware comparator. If YOU choose a PIC which doesn't have ADC or hardware comparator then you don't need to worry about it either - simple as that. If YOU select a PIC with a boatload of features YOU configure them the way you want.

It looks to me like you're doing everything you can to make it harder than it really is.

/Henrik.

TinkersALotV2
- 26th February 2013, 15:16
It is curious to see how one ping pongs across the different boards and how the story unfolds differently in different places.

rmteo
- 26th February 2013, 15:31
It is curious to see how one ping pongs across the different boards and how the story unfolds differently in different places.

... and quite entertaining.

CuriousOne
- 26th February 2013, 16:04
Yes, I specially re-used same nickname on 3 different forums, to make tracking easier.

So far, parallax one being the best one :)


p.s. I got code compiled and running.

HenrikOlsson
- 26th February 2013, 16:06
Hi,
I didn't have a 16F628A only a non A-version but I don't think the differences matters here (they are covered in Appendix C of the datasheet).
First take a look at the schematic:

6854

With the above setup I wrote a short program, no more no less than:

Main:
Toggle PortB.0
Pause 250
Goto Main
I programmed the PIC and the LED blinked at 2Hz - it really can't get easier than that IMO and it certainly isn't harder than on a BasicStamp. It works because I built the hardware to match the default setup, ie using an external 4MHz x-tal.

Next thing I did was open up the .info file for the device and copied the default configuration from where it says The PBP default configuration for the PIC16F628 is: and pasted that into my program. I then read thru the available options and decided that I want to use the internal oscillator without feeding the clock out and use internal MCLR so I changed my program to:

#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF
#ENDCONFIG

Main:
Toggle PortB.0
Pause 250
Goto Main
I removed the pullup on MCLR and the x-tal, programmed the PIC and the LED blinked with a frequency of 2Hz - as expected. All I have on the breadboard is a bypass cap, a 16F628, a resistor and a LED.

/Henrik.

TinkersALotV2
- 26th February 2013, 16:31
p.s. I got code compiled and running.

that sounds like solid progress. congratulations.

CuriousOne
- 27th February 2013, 13:48
Yes, strangely that happened with mikroe basic, not with picbasic :D

CuriousOne
- 1st March 2013, 07:46
But still, MIKROE guys are really nature error. IDE is full of bugs. A little example:

I started up IDE. By default, it opens last saved project. Ok, I close it.

Now I started new project, write some code and compile. Everything is OK.

Now I opened some previously saved project, make some changes, compile and want to flash. BUT, the flasher will flash the .hex image from the new project which I started when launching IDE. And to flash the current active program image, I have, EACH TIME, MANUALLY PROVIDE flasher with the correct hex file.

Is not this silly?

CuriousOne
- 1st March 2013, 08:05
Another bug: "clean up project folder" does not works. While it says "files were deleted", actually, no file being deleted. Also GLCD font creator can't save the file. It says it saved, but no file being saved.

Acetronics2
- 1st March 2013, 09:22
Hi, Curious one

Here is not the place to complain about another product you have difficulties with ...

I saw You were on MkB forum @ 10.15 ( French hour ... ) :D , so you were on the right place THERE to complain .

Your posts there show once more you didn't had opened neither the Pic Datasheet nor the IDE Manual or Help file ...


Once more it's no use to complain your IDE doesn't work by itself ... just make the effort to learn your lesson !!! :mad:

said gently ... this kind of thread has NO INTEREST for PicBasicPro Forumers ... as the fault is totally yours. :rolleyes:

Learn your lessons and you will be allowed to criticize AFTER lesson learned

Alain

CuriousOne
- 1st March 2013, 09:57
I believe, it's my duty, to warn others about the bad product, being falsely advertised as good one.

And the errors I've listed above, has nothing to do with my knowledge of MCUs. It's totally fault of that IDE developers.

At the same time, I'm checking picbasic pro. And also, this IDE seems to be written upside down. Why no ability to configure default path for output .hex files? There are couple of other bugs, too. I'll list them later.

Jumper
- 1st March 2013, 10:42
If you feel most things are upside down then you probably live on the Southern hemisphere.

CuriousOne
- 1st March 2013, 11:10
Here's my first code with picbasic pro up and running. It does output variable PWM which I use for led dimming.

Sure, code is written really bad, but, at least it works. I've used included BUTX3 sample as basis:



CMCON = 7 ' PORTA to digital
OPTION_REG = $7f ' Enable PORTB pull-ups
TRISB = %11001111 ' Set PORTB.4,5 (LEDs) to output, rest to input
A var byte
mainloop:
PORTB = 0 ' Turn off LEDs

' Check any button pressed to toggle on LED
If PORTB.7 = 0 Then ' If 1st button pressed...
PORTB.5 = 1 ' Turn on 1st LED
A=A+1
if a=255 then a=a-1
HPWM 1,A,1000
Endif
If PORTB.6 = 0 Then ' If 2nd button pressed...
PORTB.4 = 1 ' Turn on 2nd LED
a=A-1
if a=1 then a=a+1
HPWM 1,a,1000
Endif

Pause 15 ' Pause 2mS
Goto mainloop ' Do it forever

End


I believe, first two lines of code are irrelevant for PIC16F628A, but at least it works...

Acetronics2
- 1st March 2013, 12:39
If you feel most things are upside down then you probably live on the Southern hemisphere.

Excellent ...

I would have written it with ... lots less humour !!!

Alain

languer
- 2nd March 2013, 01:58
If you feel most things are upside down then you probably live on the Southern hemisphere.

Well said - that is very funny

CuriousOne
- 5th March 2013, 07:45
There are a lot of books available for picbasic, but very few for picbasic pro.

Is there anywhere information of side to side comparison of these two BASICs? I found that pro has hardware pwm, interrupts and some other features, but I'd like to see the complete list.

HenrikOlsson
- 5th March 2013, 11:03
Hi,
There are several flavours of "PIC BASIC" from different vendors and manufacturers. This forum, as you know, is really only targeting the compilers from MicroEngineering Labs. So when you see a reference to "PIC Basic" on the net or in a book, make sure you understand which manufacturers compiler they are really talking about.

If you're talking about comparing the features of the original PIC BASIC Compiler from MELABS to the PRO version of the same compiler I don't see the purpose since the old version is discontinued. Besides, if you think PBP is complicated you wouldn't want to use PBC.

If you want to compare the three different version of PBP3 then you can do so here. (http://pbp3.com/compare-editions.html) As far as I know all commands are available in all versions, however the experimenter and silver edition is limited in the number of supported devices. The silver edition, for example, does not support 18F series and therefor you can't use LONG variables.

CuriousOne
- 5th March 2013, 11:48
Yes, I meant melabs products.

There are a lot of books for projects and general design for picbasic on amazon, but almost none for picbasic pro.

Acetronics2
- 5th March 2013, 12:27
, but I'd like to see the complete list.

just download the PBP3 Manual ... if you dare reading it, of course !
http://pbp3.com/downloads/PBP_Reference_Manual.pdf

Alain

CuriousOne
- 5th March 2013, 15:54
I'm asking document like this:

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&cad=rja&ved=0CDIQFjAA&url=http%3A%2F%2Fptm2.cc.utu.fi%2Fftp%2FTECHNICS%2 FElektroniikka%2FPIC%2Fwww.microe.com%2Fmigration_ path.pdf&ei=CxU2UbudE8zT4QSTqoFo&usg=AFQjCNHz9mKCFsXeoV8qBgQKNzcUaRCACg

side by side comparison.

Acetronics2
- 5th March 2013, 18:48
YESS ...

This document is a commercial add published by Mikroelektronika years ago ... ( I have already shown this sheet here ...) . note here ee = i
It has made laugh loudly this forum guys as it's:

1) False ... ( just verify by yourself if you do not believe it ! )
2) Totally out of date
3) It does not take into account PBP is delivered with FREE Microcode Studio as an IDE, or MPLAB ( also FREE ) ...

n-1) They do not tell you MkB produced code is much larger than PBPro produced
N) They do not tell you there's one release every ~ 3 Month ( YESS Free ! ) supposed to correct previous bugs and introducing new ones ...
N+1) They do not tell you you have to reconfig your IDE @ each new release ....

do you still want to go on being ridiculous, having every thing ready cooked ... ???

Let's go ... here we have lots of humour !!! ( British forum ... )

CuriousOne
- 6th March 2013, 05:27
I don't care what is inside that document.

I just provided it as example of side by side comparison.

So hard to understand?