Thanks Alain.
But with MCS does it compile OK?
Ioannis
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Darrel,
In my PBP code the only assembly routine would be your code for the interrupt and I have no branch routines. My interrupt routine is in PBP, not assembly, but if is was, could this then be a possible issue. Also in searching this thread, I did see the possibly of inserting "@ errorlevel -306 " to suppress the warning, if this is a OK, where does it makes sense to insert it, such as right after the includes.
Thanks for your help,
Terry
The ASM that declares Interrupts, will be OK because all the GOTO's and GOSUB's/CALLs in DT_INTS already use Paging code.
If the ISR is assembly language, there would be a possibility of page problems.
But if you use L?GOTO or L?CALL instead of goto or call, then it won't be a problem either.
They are macro's that are part of PBP and automatically set PCLATH to the correct page before jumping. They also reset to BANK0, so anywhere they jump to should assume the bank is currently 0.
The -306 line can technically be put anywhere in the program before the first Page Crossing. But it's usually found at the very top, right up there with your __CONFIG lines.
<br>
DT
Many Thanks Darrel,
For your help now and for a GREAT easy to use approach for interrupts using PBP.
Terry
Alain,
I got ahold of Charles Leo, RE: the duplicate label problem.
Like I said before, I don't use MPLAB so I didn't know you could do this.
Under Project | Build Options | Project | PICBASIC PRO tab ...
Check the "Use Alternate Settings" checkbox, and remove the -k- or -k# parameter.
The Tracteur program then compiles without error within MPLAB.
And the setting only affects the Tracteur program.
HTH,
DT
I am running into a problem trying to figure out how to use RBC_INT on portB.1
I am using a 16F883 and I am looking for B.1 to drop from high to low. Below is part of my code to read the interrupt.
readchar:
@ INT_DISABLE RBC_INT
Dummy = PortB
if Dummy.1 = 0 then
goto good_int
Else
@ INT_CLEAR RBC_INT
@ INT_ENABLE RBC_INT
@ INT_RETURN
endif
good_int:
' process the interrupt code here
I know this is not correct but I cannot figure out why?
Any help would be appreciated.
Hi, Darrel
Thanks for the trick ...
Now, we've completely lost the debug view of produced ASM ... no more labels and even breakpoints can't be used.
Hope Melabs will correct that soon ... !!!
BTW I've appreciated Melabs has cleaned the LOOKUP tables ... New EEPROM commands are also fine ... knowing the LSByte is written first !!!
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Bookmarks