#define OSC 4 is the error
should it be
DEFINE OSC 4?
#define OSC 4 is the error
should it be
DEFINE OSC 4?
Steve Earl www.datageo.co.uk
Actually thats not what I have in my project so I must have copied and pasted the wrong code, though the rest of the lines are the same. I tried changing my code to what I posted and it compiles and runs OK (if I have the line commented out as noted in my original post) and I've just checked in the PBP3 manual and that syntax is allowed, like the #config
Just trying to help. No need to get upset.
Steve Earl www.datageo.co.uk
Hi,
I tried to compile the code, specifically:And it compiles and assembles for the 16F1509 without any error messages or warnings using PBPX 3.0.7.4 and MPASM 5.45.Code:#CONFIG __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _MCLRE_ON & _CP_OFF & _CLKOUTEN_OFF & _PWRTE_OFF & _BOREN_OFF __config _CONFIG2, _LVP_OFF & _LPBOR_OFF #ENDCONFIG #define OSC 4 OSCCON=%01101000 ' 4MHz internal TRISC=0 PORTC=0 LED0 var PORTC.0 Start: LED0=1 Pause 500 LED0=0 Pause 500 Goto Start
What version of MPASM are you using?
As for the DEFINE vs #DEFINE.... Yes both are valid but different and in this case you DO want DEFINE OSC 4 - without the # - but it's not related to the error message you get.
See section 2.3.3 (DEFINEs defined) as well as section 4.10 (#DEFINE) in the manual.
/Henrik.
I have MPSAM 5.56 in the Microchip install folder, but I also have 5.37 installed in another folder completely outside the Microchip install folder. I'm running MPLAB X 2.10 and I also have a copy of MPLAB 8.92 installed. I have removed MPSAM 5.37 from the tool list in MPLAB X but still same error. My PBP3 is version 3.07 (I downloaded the trial) Would you mind looking at your PIC16F1509.PBPINC file, line 41 and advise if it reads asIf it does, then I guess I have some version conflict which I need to sort out (perhaps it is time to reinstall fresh). Thanks, Chris#define SPBRG SPBRGL
Hi,
Yes, line 41 of my PIC16F1509.PBPINC reads exatly like that.
Yeah, there's probably some sort of conflict between the definitions in the PBP inc file and MPASM inc file. Since the #header block is passed directly to the assembler I'm guessing that the ASM inc file ALSO includes a line defining ("aliasing") SPBRG as SPBRGL - but that's just a guess.
If you're actually USING MPLABX as your IDE then I'm not the right guy to help you (never got it working). If you're not using it (or don't feel you HAVE to use it) I recommend you download and install the full package (including MPLAB 8.90) available from Melabs download page and use MicroCodeStudio as the IDE.
/Henrik.
Thanks Henrik, I was thinking along those lines as I felt that it looked like it was trying to define it's self in a sense, but I really don't have enough knowledge to be sure, hence the reason I was asking! I have the full package, I'll try installing that. I use to use MCS but I lost the key and the crowd that makes it wasn't interested in helping me retrieve it so I gave up on that (I got a new computer or the hard drive fell over or some such, was a few years ago) and I didn't feel inclined to pay a second time. Using the free version - well, that really did upset me, so I turfed it out LOL Thanks for your help![]()
Last edited by ChrisKiwi; - 10th June 2014 at 21:53. Reason: spelling
Your comments got me thinking further so I downloaded the "Full" version of PBP3 and installed MPLAB 8.9 and got my code to compile and run with out commenting out the line in the PBPINC file. I compared the Microchip INC files and found that MPSAM 5.49 that installed from the full PBP3 download only had entries for SPBRGL and SPBRGH while MPASM 5.56 (Installed with MPLAB-X) had SPBRG (the offending one) SPBRGL and SPBRGH. The data sheet for the pic refers to SPBRGL and SPBRGH as 2 8 bit registers but refers to SPBRG as the combined value of the 2 registers. In the MPASM 5.56 inc file (MPLAB-X) SPBRG and SPBRGL have the same address, so in effect that is saying that SPBRG abd SPBRGL are the same thing, thus, you are defining the same thing twice or in different places (as per the error message) when you are using MPLAX-X with MPASM 5.56 and PBP3 but not when you are using the older version of MPLAB with MPASM 5.49 and PBP3. My solution is to comment out the line out in the PBP3 .PBPINC file on the basis that I think PBP3 should be compatible to MPASM, rather than the other way round. I wonder if this could be considered a "bug" ? - which came first - the chicken or the egg? Chris
I wasn't upset and I appreciate the fact you replied with a suggestion. The error was mine, in that I posted code from the wrong window, but from your response, we have both discovered something new about PBP3 - so I guess we are both winners![]()
The only reason I come here is to learn, as most people do. Whether what I learn will be of any use or not is debatable. For me it just needs to be interesting.
Steve Earl www.datageo.co.uk
Bookmarks