PDA

View Full Version : DT-ints and elapsed timer compilation errors.



jmgelba
- 17th September 2021, 02:37
Hi Guys,

I'm having some compiler issues when trying to create a program around DT's interrupts and elapsed timer. In the below code, if I comment out
@ INT_ENABLE TMR1_INT ; Enable Timer 1 Interrupts then the program will compile.



INCLUDE "DT_INTS-18.bas"
INCLUDE "ReEnterPBP-18.bas"
INCLUDE "Elapsed_INT-18.bas" ; Elapsed Timer Routines

ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR1_INT, _ClockCount, PBP, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM


@ INT_ENABLE TMR1_INT ; Enable Timer 1 Interrupts

'GOSUB ResetTime ' Reset Time to 0d-00:00:00.00
'GOSUB StartTimer ' Start the Elapsed Timer



This is the error dump MPLAB produces if I do not comment out that line.


ERROR: Unable to execute mpasmwin.Warning[205] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 2062 : Found directive in column 1. (endm)
Warning[206] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 2063 : Found call to macro in column 1. (INT_CREATE)
Warning[206] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 2061 : Found call to macro in column 1. (INT_Handler)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 616 : Address label duplicated or different in second pass (Z0001C)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 679 : Address label duplicated or different in second pass (Z0001D)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 732 : Address label duplicated or different in second pass (Z0001E)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 763 : Address label duplicated or different in second pass (Z0001F)


Any idea what I may be missing?

18F1320, int osc at 8MHZ, PBP 2.6A, MPLAB IDE 8.20a

richard
- 17th September 2021, 04:15
Any idea what I may be missing?


some spaces this



ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR1_INT, _ClockCount, PBP, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM

as the error msg says " Found directive in column 1. (endm)"
should be


ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR1_INT, _ClockCount, PBP, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM

jmgelba
- 17th September 2021, 04:38
Oh wow, thanks! I didn't realize it was so tabulation sensitive. This removed a few errors but still a couple left to clear. I'm thinking of commenting out that area of the include as it pertains to functions this pic doesn't have.


ERROR: Unable to execute mpasmwin.Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 616 : Address label duplicated or different in second pass (Z0001C)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 679 : Address label duplicated or different in second pass (Z0001D)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 732 : Address label duplicated or different in second pass (Z0001E)
Error[116] C:\USERS\LAPTOP1\DOCUMENTS\MCS\94700-1 DUAL UV.ASM 763 : Address label duplicated or different in second pass (Z0001F)

richard
- 17th September 2021, 04:57
I'm thinking of commenting out that area of the include as it pertains to functions this pic doesn't have.

won't help at all

9076


the assembler gets a bit picky about old stuff like dt ints these days if coff generation is enabled.
coff is now pretty much useless for pbp since it is no longer supported in mplabx for source level debugging

mpgmike
- 17th September 2021, 05:10
Richard, I'm impressed! You are noting things I never knew! I don't use ancient PICs like the 18F1320, but never would have guessed your answer. Nice work, and thanks for sharing your wisdom.

jmgelba
- 17th September 2021, 05:18
I'm using old stuff :biggrin: I don't see an option to enable or disable generation of COFF files in this super old version of MCS+. 3.0.0.1 I think, MPLAB is 8.20a, mpasm is 5.30, and pbp is 2.60a.

richard
- 17th September 2021, 05:36
9077

if its not there then u need an upgrade

mpgmike
- 17th September 2021, 05:41
Jmgelba, your join date is 2004, which means you aren't green (new). Like anything, Microchip has evolved with newer PIC offerings sporting more power, more Peripherals, and at cheaper prices. MCP abandoned MPLAB in favor of MPLABX. PBP3 has evolved. Even the dated dtInts has evolved, thanks to contributions from the community. The software versions you are using are extremely outdated. To upgrade to the current PBP3.1 software will cost you $50 US. However, upgrading to the last version of PBP3.0 is free. PBP3.x works with MPLABX v5.35 or older. Is there a reason you have not taken advantage of these free upgrades?? Many folks in the past have been pleasantly surprised by how many of their challenges were magically solved just by updating their software. Give it a try and let us know if it helps at all.

jmgelba
- 17th September 2021, 05:44
There has to be something else going on too. I'm using software that was used when these interrupts where first written. I did just upgrade to the free 4.0.0.0 version of MCS+ so I'll try that. No option to not generate a COFF though.

jmgelba
- 17th September 2021, 05:49
Jmgelba, your join date is 2004, which means you aren't green (new). Like anything, Microchip has evolved with newer PIC offerings sporting more power, more Peripherals, and at cheaper prices. MCP abandoned MPLAB in favor of MPLABX. PBP3 has evolved. Even the dated dtInts has evolved, thanks to contributions from the community. The software versions you are using are extremely outdated. To upgrade to the current PBP3.1 software will cost you $50 US. However, upgrading to the last version of PBP3.0 is free. PBP3.x works with MPLABX v5.35 or older. Is there a reason you have not taken advantage of these free upgrades?? Many folks in the past have been pleasantly surprised by how many of their challenges were magically solved just by updating their software. Give it a try and let us know if it helps at all.

I haven't touched a pic in years. I really don't do much with firmware at all. I'm completely out of date, have no skills, and forgot all the stuff I learnt a decade ago. All I want to do is run a timer for 60, 90, or 120 seconds while monitoring a pin for a high to low transition that stops the timer and jumps to a different location in the program. Should be super simple but I'm dumb and crazy busy with other stuff.

I'll take a look around for that 3.0 free upgrade.

mpgmike
- 17th September 2021, 17:10
In addition to the forums, ME Labs offers this:

https://melabs.com/resources/index.htm?source=footer

jmgelba
- 17th September 2021, 23:17
So I got a copy of PBP3, MCS4, MPLABX IDE 5.50, and yeah, same result. Plus a whole bunch of other issues such as programmer issues (fixed) makefile issues (not fixed) MCS not connecting to MPLAB correctly (not fixed.)
I have upended a setup that's created several programs and programmed hundreds of chips, only to be worse off than before lol.