Very likely I am missing somthing because I am unable to compile the DT_Ints-14 with 16F84A & 16F873 while 16F876 will compile with some warnings.
Here the simple code:
These are the errors with 16F84A with "@PIR1 = EECON1" or w/o it (Flash 1024)Code:LED1 VAR PORTB.1 INCLUDE "DT_INTS-14.bas" ; Base Interrupt System INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _ToggleLED1, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM @ INT_ENABLE INT_INT ; enable external (INT) interrupts Main: PAUSE 1 GOTO Main '---[INT - interrupt handler]--------------------------------------------------- ToggleLED1: TOGGLE LED1 @ INT_RETURN
ERROR: Variable wsave3 position request 416 beyond RAM_END 79.
ERROR: Variable wsave2 position request 288 beyond RAM_END 79.
ERROR: Variable wsave1 position request 160 beyond RAM_END 79.
These are the erros with 16F873 & 16F874 (Flash 4096)
ERROR: Variable wsave3 position request 416 beyond RAM_END 255.
ERROR: Variable wsave2 position request 288 beyond RAM_END 255.
These are the warnings with 16F876 (Flash 8192)
I did not check if the above compilation was working or not ( the harware I had prepared was for 16F84A)Warning[205]c:\..................................\led_int.asm 495:Found directive in column 1. (endm)
Warning[206]c:\..................................\led_int.asm 496:Found call to macro in column 1. (INT_CREATE)
Warning[206]c:\..................................\led_int.asm 494:Found call to macro in column 1. (INT_Handler)
The only explanation I am giving is the ram space, but since others have used with success the 16F84A with the same program, that means that the problem is with my compiler (ver 2.47) or something wrong I am doing.
Any help will be greatly appreciated.
Al.




Bookmarks