Error compiling with DT Interrupts


+ Reply to Thread
Results 1 to 3 of 3
  1. #1
    Join Date
    Jul 2024
    Posts
    30

    Default Error compiling with DT Interrupts

    Hi guys,

    i'm a bit lost with a very small and simple program which does not compile when using DT interrupt library on the 18F2580.

    I was hopping someone more inteligent could help figure out how i can modify the library so it can be compatible with this MCU.

    This is the entire program:

    Code:
    '****************************************************************
    '*  Name    : IC_3_COMTEST.PBP                                  *
    '*  Author  : Rui Cabral                                        *
    '*  Notice  : Copyright (c) 2024 [select VIEW...EDITOR OPTIONS] *
    '*          : All Rights Reserved                               *
    '*  Date    : 19/12/2024                                        *
    '*  Version : 1.0                                               *
    '*  Notes   : 18F2580  - MAINBOARD V2.2                         *
    '*          :                                                   *
    '****************************************************************
    '
    '
    '
    '
    ;----[18F2580 Hardware Configuration]-------------------------------------------
    #IF __PROCESSOR__ = "18F2580"
      #DEFINE MCU_FOUND 1
    #CONFIG
      CONFIG  OSC = IRCIO67      ; Internal oscillator block, port function on RA6 and RA7
      CONFIG  FCMEN = OFF        ; Fail-Safe Clock Monitor disabled
      CONFIG  IESO = OFF         ; Oscillator Switchover mode disabled
      CONFIG  PWRT = OFF         ; PWRT disabled
      CONFIG  BOREN = OFF        ; Brown-out Reset disabled in hardware and software
      CONFIG  BORV = 3           ; VBOR set to 2.1V
      CONFIG  WDT = OFF          ; WDT disabled (control is placed on the SWDTEN bit)
      CONFIG  WDTPS = 512        ; 1:512
      CONFIG  PBADEN = OFF       ; PORTB<4:0> pins are configured as digital I/O on Reset
      CONFIG  LPT1OSC = OFF      ; Timer1 configured for higher power operation
      CONFIG  MCLRE = OFF        ; RE3 input pin enabled; MCLR disabled
      CONFIG  STVREN = ON        ; Stack full/underflow will cause Reset
      CONFIG  LVP = OFF          ; Single-Supply ICSP disabled
      CONFIG  BBSIZ = 1024       ; 1K words (2K bytes) boot block
      CONFIG  XINST = OFF        ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
      CONFIG  DEBUG = OFF        ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
      CONFIG  CP0 = OFF          ; Block 0 (000800-001FFFh) not code-protected
      CONFIG  CP1 = OFF          ; Block 1 (002000-003FFFh) not code-protected
      CONFIG  CP2 = OFF          ; Block 2 (004000-005FFFh) not code-protected
      CONFIG  CP3 = OFF          ; Block 3 (006000-007FFFh) not code-protected
      CONFIG  CPB = OFF          ; Boot block (000000-0007FFh) not code-protected
      CONFIG  CPD = OFF          ; Data EEPROM not code-protected
      CONFIG  WRT0 = OFF         ; Block 0 (000800-001FFFh) not write-protected
      CONFIG  WRT1 = OFF         ; Block 1 (002000-003FFFh) not write-protected
      CONFIG  WRT2 = OFF         ; Block 2 (004000-005FFFh) not write-protected
      CONFIG  WRT3 = OFF         ; Block 3 (006000-007FFFh) not write-protected
      CONFIG  WRTC = OFF         ; Configuration registers (300000-3000FFh) not write-protected
      CONFIG  WRTB = OFF         ; Boot block (000000-0007FFh) not write-protected
      CONFIG  WRTD = OFF         ; Data EEPROM not write-protected
      CONFIG  EBTR0 = OFF        ; Block 0 (000800-001FFFh) not protected from table reads executed in other blocks
      CONFIG  EBTR1 = OFF        ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
      CONFIG  EBTR2 = OFF        ; Block 2 (004000-005FFFh) not protected from table reads executed in other blocks
      CONFIG  EBTR3 = OFF        ; Block 3 (006000-007FFFh) not protected from table reads executed in other blocks
      CONFIG  EBTRB = OFF        ; Boot block (000000-0007FFh) not protected from table reads executed in other blocks
    #ENDCONFIG
    
    
    #ENDIF
    
    
    ;----[Verify Configs have been specified for Selected Processor]----------------
    ;       Note: Only include this routine once, after all #CONFIG blocks
    #IFNDEF MCU_FOUND
      #ERROR "No CONFIGs found for [" + __PROCESSOR__ +"]"
    #ENDIF
    
    
    '*****************************************************************************
    
    
    'OSCCON =%01110000 '8MHz INTOSC
    'OSCTUNE=%11000000 'PLLEN enabled
    'OSCTUNE=%10000000 'PLLEN DISABLED
    
    
    OSCCON =%01110010 '8MHz INTOSC <-------------------TEST THIS MODE (Internal Osc Block)
    OSCTUNE=%01000000 'PLLEN DISABLED <-------------------TEST THIS MODE (31KHZ DEVICE CLOCK)
    
    
    'DEFINE OSC 8
    DEFINE OSC 32
    
    
    '*****************************************************************************
    
    
    '#DEFINE IOC_INT PIR0,IOCIF, PIE0,IOCIE
    
    
    'https://www.picbasic.co.uk/forum/showthread.php/26778-IOC-on-pin-going-HIGH-and-LOW?p=156080#post156080
    'https://www.picbasic.co.uk/forum/showthread.php/26776-SOLVED-Can-t-get-IOC-on-pin-change-working
    'https://www.picbasic.co.uk/forum/showthread.php/26783-Can-t-get-IOC-on-pin-change-working
    'https://support.melabs.com/forum/picbasic-pro-compiler-3-0-and-later/asm-assembly-language-in-picbasic-pro/7003-customizing-the-dt_ints-xx-bas-instant-interrupt
    
    
    '*****************************************************************************
    
    
    INCLUDE "ALLDIGITAL.pbp"
    DEFINE SHOWDIGITAL 1
    
    
    '*****************************************************************************
    
    
    INCLUDE "DT_INTS-18.bas"
    'INCLUDE "DT_INTS-14.bas" 
    'INCLUDE "ReEnterPBP.bas"
    INCLUDE "ReEnterPBP-18.bas"
    'INCLUDE "ReEnterPBP-18LP.bas"
    
    
    DEFINE HSER_BAUD 9600
    DEFINE HSER_RCSTA 90h   ' SPEN + CREN
    DEFINE HSER_TXSTA 24h   ' TXEN + BRGH
    DEFINE HSER_CLROERR 1
    
    
    RXBYTE  VAR BYTE
    RXFLAG  VAR BIT
    RX1 VAR BYTE
    RX2 VAR BYTE
    
    
    ASM
    INT_LIST  macro    ; IntSource, Label, Type, ResetFlag?
        INT_Handler   USART_RX_INT, _RxISR,   PBP,  yes
    ENDM
        INT_CREATE
    ENDASM
    
    
    PIE1.5 = 1              ' RCIE
    INTCON = %11000000      ' GIE + PEIE
    
    
    '*****************************************************************************
    
    
    PORTA=%00000000
    PORTB=%00000000
    PORTC=%00000000
    
    
    TRISA=%00000000				
    TRISB=%00000000
    TRISC=%10000000   'RC7 - RX pin as input
    
    
    '*****************************************************************************
    'PORTS & PINS 
    		
    IC_RX				var	PORTC.7	'IC3 INPUT
    
    
    LED1                VAR  PORTC.3
    LED2                VAR  PORTC.4
    
    
    'Communication between MCUs (COMM)---------------------
    
    
    'PORTB.5 (IC2,3,4,5,6) COMM
    'PORTA.1 (IC1) COMM
    
    
    CT			VAR		BYTE
    CT2			VAR		BYTE
    
    
    INTFLAG		VAR		BYTE
    MOODCHANGE	VAR		WORD
    
    
    '*****************************************************************************
    
    
    
    
    'wsave var byte $20 system ;location for W if in bank0
    'wsave var byte $70 system ;location for W if in bank0
    '..... 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
    	
    '*****************************************************************************
    INIT:
    
    
    clear
    
    
    pause 100
    
    
    goto main
    
    
    '*****************************************************************************
    main:
    
    
    toggle LED1
    
    
    pause 1000
    
    
    goto main
    
    
    '*****************************************************************************
    RxISR:
    
    
    'xa$23.IC102
    '    HSERIN [WAIT("IC1"), RXBYTE]
        
    ' Espera até encontrar "IC1"
    HSERIN [WAIT("IC1"), RX1, RX2]
    
    
    ' RX1 = "0"
    ' RX2 = "2"
    
    
    if RX1="0" and RX2="2" then
    high led2
    else
    low led2
    endif
    
    
        'HSERIN [WAIT(":"), RX1, RX2, RX3]
        'HSERIN [WAIT($02), RXBYTE]
        'HSERIN [WAIT("A"), RXBYTE]
        
        
    RXFLAG = 1
    @ INT_RETURN
    
    
    '*****************************************************************************
    Thanks

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,703


    Did you find this post helpful? Yes | No

    Default Re: Error compiling with DT Interrupts

    Code:
     INT_Handler   USART_RX_INT, _RxISR,   PBP,  yes
    dt ints does not have an interrupt called USART_RX_INT perhaps you mean RX_INT
    Warning I'm not a teacher

  3. #3
    Join Date
    Jul 2024
    Posts
    30


    Did you find this post helpful? Yes | No

    Default Re: Error compiling with DT Interrupts

    Hi Richard,

    thank you so much for your quick reply.

    And once again you are 100% correct.
    How could i be so blind?

    Thanks. It now compiles correctly.

Similar Threads

  1. Error Compiling with PbP 3
    By srspinho in forum PBP3
    Replies: 15
    Last Post: - 1st June 2017, 21:02
  2. Error while compiling
    By BobK in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 20th April 2013, 18:01
  3. Replies: 1
    Last Post: - 30th March 2012, 05:13
  4. Compiling Error with 18F452
    By michel in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 1st July 2008, 06:10
  5. error on compiling
    By parker in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 16th June 2005, 15:31

Members who have read this thread : 2

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