gadelhas
- 10th August 2010, 02:53
Hi Again everyone;
I'm trying to make a program using serial interrupt with DT_Ints, however i'm getting some erros when i compile, can somebody help me?
PIC16F877A
4Mhz
PBP Pro 2.60a
Mplab 8.53
DEFINE OSC 4
include "modedefs.bas"
INCLUDE "DT_INTS-14.bas"
INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler RX_INT, _serialin, PBP, no
endm
INT_CREATE ; Creates the interrupt processor
ENDASM
@ INT_ENABLE RX_INT ; enable external (INT) interrupts
' VARIÁVEIS
' ================================================== ==================
DADO var byte
DADOS var byte(4)
ID var byte(2)
' REGISTOS PINOUT 1 = IN; 0 = OUT
' ================================================== ==================
'76543210
TRISA = %00000001
TRISB = %00001111
TRISC = %10000000
TRISD = %00000000
TRISE = %00000000
ADCON1 = 7
' NOMES PINOUT
' ================================================== ==================
LED VAR PORTA.1
Botao var PORTA.0
TX Var PORTC.6
RX VAR PORTC.7
' DEFINIÇÕES
' ================================================== ==================
DEFINE LCD_DREG PORTB ' LCD Data bits on PORTB
DEFINE LCD_DBIT 4 ' PORTB starting address
DEFINE LCD_RSREG PORTB ' LCD RS bit on PORTB
DEFINE LCD_RSBIT 3 ' LCD RS bit address
DEFINE LCD_EREG PORTB ' LCD E bit on PORTB
DEFINE LCD_EBIT 2 ' LCD E bit address
DEFINE LCD_BITS 4 ' LCD in 4-bit mode
DEFINE LCD_LINES 2 ' LCD has 2 rows
DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us
DEFINE LCD_DATAUS 50 ' Set data delay time in us
' INICIO PROGRAMA
' ================================================== ==================
Start:
HIGH LED
PAUSE 500
LOW LED
PAUSE 500
HIGH LED
LCDOUT $fe, 1
lcdout " Teste Interrupt "
lcdout $FE,$C0," Por Hugo Oliveira"
pause 1000
Main:
toggle led
Pause 1000
goto main
serialin: ' Buffer the character received
@ INT_RETURN
The Erros are;
xecuting: "C:\Programas\PBP\PBPMPLAB.BAT" -ampasmwin -k# -p16F877A "Interrupt.pbp"
Executing: "C:\Programas\PBP\PBPW.EXE" -ampasmwin -k# -p16F877A "Interrupt.pbp"
PICBASIC PRO(TM) Compiler 2.60A, (c) 1998, 2010 microEngineering Labs, Inc.
All Rights Reserved.
ERROR: Unable to execute mpasmwin.Error[113] C:\PROGRAMAS\PBP\PBPPIC14.LIB 1181 : Symbol not previously defined (wsave)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 383 : ERROR: (wsave variable not found,)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 347 : ERROR: (" Add:" wsave VAR BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 404 : ERROR: (Chip has RAM in BANK1, but wsave1 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 354 : ERROR: (" Add:" wsave1 VAR BYTE $A0 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 420 : ERROR: (Chip has RAM in BANK2, but wsave2 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 361 : ERROR: (" Add:" wsave2 VAR BYTE $120 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 430 : ERROR: (Chip has RAM in BANK3, but wsave3 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 368 : ERROR: (" Add:" wsave3 VAR BYTE $1A0 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Halting build on first failure as requested.
BUILD FAILED: Tue Aug 10 02:48:20 2010
Thanks
I'm trying to make a program using serial interrupt with DT_Ints, however i'm getting some erros when i compile, can somebody help me?
PIC16F877A
4Mhz
PBP Pro 2.60a
Mplab 8.53
DEFINE OSC 4
include "modedefs.bas"
INCLUDE "DT_INTS-14.bas"
INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler RX_INT, _serialin, PBP, no
endm
INT_CREATE ; Creates the interrupt processor
ENDASM
@ INT_ENABLE RX_INT ; enable external (INT) interrupts
' VARIÁVEIS
' ================================================== ==================
DADO var byte
DADOS var byte(4)
ID var byte(2)
' REGISTOS PINOUT 1 = IN; 0 = OUT
' ================================================== ==================
'76543210
TRISA = %00000001
TRISB = %00001111
TRISC = %10000000
TRISD = %00000000
TRISE = %00000000
ADCON1 = 7
' NOMES PINOUT
' ================================================== ==================
LED VAR PORTA.1
Botao var PORTA.0
TX Var PORTC.6
RX VAR PORTC.7
' DEFINIÇÕES
' ================================================== ==================
DEFINE LCD_DREG PORTB ' LCD Data bits on PORTB
DEFINE LCD_DBIT 4 ' PORTB starting address
DEFINE LCD_RSREG PORTB ' LCD RS bit on PORTB
DEFINE LCD_RSBIT 3 ' LCD RS bit address
DEFINE LCD_EREG PORTB ' LCD E bit on PORTB
DEFINE LCD_EBIT 2 ' LCD E bit address
DEFINE LCD_BITS 4 ' LCD in 4-bit mode
DEFINE LCD_LINES 2 ' LCD has 2 rows
DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us
DEFINE LCD_DATAUS 50 ' Set data delay time in us
' INICIO PROGRAMA
' ================================================== ==================
Start:
HIGH LED
PAUSE 500
LOW LED
PAUSE 500
HIGH LED
LCDOUT $fe, 1
lcdout " Teste Interrupt "
lcdout $FE,$C0," Por Hugo Oliveira"
pause 1000
Main:
toggle led
Pause 1000
goto main
serialin: ' Buffer the character received
@ INT_RETURN
The Erros are;
xecuting: "C:\Programas\PBP\PBPMPLAB.BAT" -ampasmwin -k# -p16F877A "Interrupt.pbp"
Executing: "C:\Programas\PBP\PBPW.EXE" -ampasmwin -k# -p16F877A "Interrupt.pbp"
PICBASIC PRO(TM) Compiler 2.60A, (c) 1998, 2010 microEngineering Labs, Inc.
All Rights Reserved.
ERROR: Unable to execute mpasmwin.Error[113] C:\PROGRAMAS\PBP\PBPPIC14.LIB 1181 : Symbol not previously defined (wsave)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 383 : ERROR: (wsave variable not found,)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 347 : ERROR: (" Add:" wsave VAR BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 404 : ERROR: (Chip has RAM in BANK1, but wsave1 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 354 : ERROR: (" Add:" wsave1 VAR BYTE $A0 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 420 : ERROR: (Chip has RAM in BANK2, but wsave2 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 361 : ERROR: (" Add:" wsave2 VAR BYTE $120 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 430 : ERROR: (Chip has RAM in BANK3, but wsave3 was not found.)
Error[101] C:\DOCUMENTS AND SETTINGS\HUGO OLIVEIRA\AMBIENTE DE TRABALHO\NOVA PASTA\INTERRUPT.ASM 368 : ERROR: (" Add:" wsave3 VAR BYTE $1A0 SYSTEM, Or change to wsave BYTE $70 SYSTEM)
Halting build on first failure as requested.
BUILD FAILED: Tue Aug 10 02:48:20 2010
Thanks