assembly error on DT interrupts


+ Reply to Thread
Results 1 to 20 of 20

Hybrid View

  1. #1
    Join Date
    Apr 2022
    Posts
    14


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Hello Demon,

    the two line code snippet is from the interrupt code on this site. Downloads | Book of Interrupts

    I
    t is where the variable is defined and yet the assembler complains about it.

    I was wondering if anyone else had this happen. It also shows up in the error file.

    Thanks,

    Paul

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,154


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    For one, there's an order to place the DT includes in your program.

    And it would REALLY help to see your complete code.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  3. #3
    Join Date
    Apr 2022
    Posts
    14


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Hello Demon.

    here is the code. It does not show any errors for the main code but the DT interrupts when assembled gives the error code listed above.


    Code:
    CLEAR                       'Clears memoryinclude "codesize.pbp"      'measure the size of the code.
    Define Measure 1
    
    
    '..... If any of these next three lines cause an error 
    '......Comment them out to fix the problem...
    '......which variables are needed, depends on the chip you are using.......
    
    
    wsave1 var byte $A0 system  ;location for W if in bank0
    wsave2 var byte $120 system ;location for W if in bank0                                           
    wsave3 var byte $1A0 system ;location for W if in bank0
    
    
    INCLUDE "DT_INTS-18-k80.bas"; Basic Interrupt System
    INCLUDE "ReEnterPBP-18.bas" ; Include if using PBP interrupts
    'INCLUDE "ReEnterPBP-18LP.bas"  ; Include if using Low Priority. PBP INTS
    INCLUDE "modedefs.bas"      'defines modes for serial in and out
    INCLUDE "ProfileGen3.pbp"   'Motion profile generator for motor move
    INCLUDE "incPIDv1_5.pbp"    'include the PID controller
    INCLUDE "CANBus.pbp"        'CAN bus header file
    
    
    
    
    ' Define clock speed
    DEFINE OSC 20              ' clock frequency
    DEFINE USE_HIGHPRIORITY 1  ' use high priority interrupts
    'define USE_LOWPRIORITY  1 ' not using low priority interrupts
     
    DEFINE WRITE_INT 1
    
    
    '*********************************************************************
    ' have to define this so interrupts are masked when doing EEPROM
    ' writes.  It handles masking and un-masking
    '*********************************************************************
     
    INTCON2.6 = 0           ' Int on falling edge 
                            ' External Interrupt 0 Edge Select bit
    
    
     
                            
    ' Set up data direction registers for all the pins.
    TRISA = 111111       ' Set PORTA RA6 is Osc output to crystal
    TRISB = 101001       ' Set PORTB
    TRISC = 010100       ' Set PORTC
    TRISD = 000011       ' Set PORTD
    TRISE = 111011       ' Set PORTE only lower 4 bits available
    
    
    ;----[High Priority Interrupts]----------------------------------------
    ASM
    INT_LIST  macro    ; IntSource,    Label,      Type, ResetFlag?
            INT_Handler   TMR1_INT,  _ClockCount,   PBP,  yes  ;-- Timer Int.
            INT_Handler   INT0_INT,  _MoveCmd,      PBP,  yes  ;-- Flap Switch
       endm
        INT_CREATE          ; Creates High Priority interrupt processor
    ENDASM
    and this is the Interrupt code from DT's Interrupts.

    Code:
    '****************************************************************'*  Name    : DT_INTS-18-K80.bas                                *
    '*  Author  : Darrel Taylor modified for PIC18F46K80         *
    '*  Notice  : Copyright (c) 2003                                *
    '*  Version : 1.0    MAR 21, 2022                               *
    '*  Date    : MAR 21, 2022                                      *
    '****************************************************************
    '*  Versions:                                                   *
    '*   1.0  : MAR 21, 2022 first version modified for PIC66K80    *
    '*   3.3  : MAR 24, 2008                                        *
    '*           Corrects an initialization problem affecting the   *
    '*           first pass if CLEAR is not used                    *
    '*   3.2  : Aug 26, 2007                                        *
    '*           Update for PBP 2.50 using LONG's with PBPL         *
    '*           Added many new INT sources                         *
    '*   3.1  : JUL 18, 2006                                        *
    '*           Modified to handle smaller BANKA in the newer chips*
    '****************************************************************
    ;DISABLE DEBUG
    
    
    
    
    DEFINE  INTHAND       INT_ENTRY_H  ' Context saving for High Priority Ints
    DEFINE  INTLHAND      INT_ENTRY_L  ' Context saving for Low Priority Ints
    
    
    wsave       var byte  BANKA  SYSTEM   ' location for WREG
    ssave       var byte  BANK0  SYSTEM   ' location for STATUS register
    bsave       var byte  BANK0  SYSTEM   ' location for BSR register
    psaveUH     VAR BYTE  BANK0  SYSTEM   ' PCLATU Hi Pri.
    psaveUL     VAR BYTE  BANK0  SYSTEM   '        Lo Pri.
    psaveH      VAR BYTE  BANK0  SYSTEM   ' PCLATH Hi Pri.
    psaveL      VAR BYTE  BANK0  SYSTEM   '        Lo Pri.
    fsave0H     var WORD  BANK0  SYSTEM   ' locations for FSR registers
    fsave1H     var WORD  BANK0  SYSTEM
    fsave2H     var WORD  BANK0  SYSTEM
    fsave0L     var WORD  BANK0  SYSTEM   ' low priority FSR locations
    fsave1L     var WORD  BANK0  SYSTEM
    fsave2L     var WORD  BANK0  SYSTEM
    RetAddrH    VAR BYTE[3]  BANKA  SYSTEM  ' 21-bit return address Hi Pri.
    RetAddrL    VAR BYTE[3]  BANKA  SYSTEM  '                       Lo Pri.
    INT_Flags   VAR BYTE  BANKA  SYSTEM
      Serviced_H  VAR INT_Flags.0
      Serviced_L  VAR INT_Flags.1
      InHPint     VAR INT_Flags.2
      NoPriority  VAR INT_Flags.3
    
    
    INT_Flags = 0 
    
    
    goto  OVER_DT_INTS_18
    
    
    ASM
    ;____ Check for PBPL (PBP ver. 2.50 and above only)__________________________
    PBPLongs_Used = 0
      if (R1 - R0 == 4)
    PBPLongs_Used = 1
    ;    messg PBPL Used = 1
      endif
    
    
    ;  nolist
    ;____ DEFINE available interrupt sources_____________________________________
    The error is for the INTHAND not being defined but, as you can see it is.

    Thanks,
    Paul

  4. #4
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,115


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Posting snippets is just a waste of time...

    Ioannis

  5. #5
    Join Date
    Apr 2022
    Posts
    14


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Thanks for that enlightening comment Ioannis. If I posted all the code it would be about 4000 lines worth of code. The original question had to do with the assembler complaining about the (INT_ENTRY_H) not being defined. The code snippets are because Demon requested them. They show that the (INT_ENTRY_H) is defined in DT's code. So the only question would be if my includes meet the requirements that Demon was speaking about.

    Thanks,
    Paul

  6. #6
    Join Date
    Jan 2009
    Location
    Miami, Florida USA
    Posts
    699


    Did you find this post helpful? Yes | No

    Question Re: assembly error on DT interrupts

    My first guess is that you have a missing file that it is supposed to be in the same directory as the pbp file.

    My second guess is that that PIC doesn't support the Darrel high priority interrupts. I have used a few new chips that don't like the Darrel interrupts. I would try your code with a 18F4550 first to see if it works, and go from there.
    "No one is completely worthless. They can always serve as a bad example."

    Anonymous

  7. #7
    Join Date
    May 2013
    Location
    australia
    Posts
    2,631


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    beginning to look like another stone soup exercise
    Warning I'm not a teacher

  8. #8
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,115


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Quote Originally Posted by PCzar3 View Post
    Thanks for that enlightening comment Ioannis. If I posted all the code it would be about 4000 lines worth of code. The original question had to do with the assembler complaining about the (INT_ENTRY_H) not being defined. The code snippets are because Demon requested them. They show that the (INT_ENTRY_H) is defined in DT's code. So the only question would be if my includes meet the requirements that Demon was speaking about.

    Thanks,
    Paul
    Well, we are here to help on specific problems, not guessing what you might have wrong in your listing. If it is 4k long line let it be.

    There are many kind people here that will have a second look at your code and surely might find that comma or dot it should or shouldn't be there for you.

    If you like guessing work then be it...

    Ioannis

  9. #9
    Join Date
    Apr 2022
    Posts
    14


    Did you find this post helpful? Yes | No

    Default Re: assembly error on DT interrupts

    Hello Ioannis,
    I have worked with Henrik in the past and he has been most helpful. I'll look again at what he has suggested. If I find the solution, I'll post an answer. If not, well I'll have to see what I can find. I don't mean to raise your ire with my problem.

    Paul

Similar Threads

  1. Assembly Interrupts for PIC 18F27K42
    By dtbarber in forum Code Examples
    Replies: 3
    Last Post: - 7th January 2021, 00:59
  2. Error using DT's Inst Interrupts and PIC BASIC PRO Long
    By ozarkshermit in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 6th December 2014, 18:11
  3. Replies: 1
    Last Post: - 30th March 2012, 04:13
  4. LP Instant Interrupts Error
    By Kamikaze47 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 7th December 2009, 09:13
  5. Replies: 2
    Last Post: - 8th February 2009, 05:10

Members who have read this thread : 19

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