The answer is in the Error messages:

Quote Originally Posted by midali View Post
hi to all,
Error[101] C:\LUCRU\TEST_SPWM_INT.ASM 238 : ERROR: (wsave variable not found,)
Error[101] C:\LUCRU\TEST_SPWM_INT.ASM 204 : ERROR: (" Add:" wsave VAR BYTE $20 SYSTEM)
Error[101] C:\LUCRU\TEST_SPWM_INT.ASM 259 : ERROR: (Chip has RAM in BANK1, but wsave1 was not found.)
Error[101] C:\LUCRU\TEST_SPWM_INT.ASM 211 : ERROR: (" Add:" wsave1 VAR BYTE $A0 SYSTEM)
It says, " Add:" wsave VAR BYTE $20 SYSTEM
and also " Add:" wsave1 VAR BYTE $A0 SYSTEM

So, your code might look like this now:

Code:
'****************************************************************
'*  Name    : Test_SPWM.pbp                                     *
'*  Author  : Darrel Taylor                                     *
'*  Date    : 9/30/2006                                         *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
; Initialize your hardware first

DEFINE OSC 20
CLEAR

INCLUDE "..\DT_INTS-14.bas"         ; Base Interrupt System
INCLUDE "SPWM_INT.bas"              ; Software PWM module

wsave     VAR BYTE $20 SYSTEM
wsave1    VAR BYTE $A0 SYSTEM

DEFINE SPWM_FREQ  40                ; SPWM Frequency
DEFINE SPWM_RES   256               ; SPWM Resolution

DutyVars   VAR BYTE[3]              ; DutyCycle Variables
  DutyVar1 VAR DutyVars[0]          ; group them in an array for easy access
  DutyVar2 VAR DutyVars[1]          ; with FOR loops etc.
  DutyVar3 VAR DutyVars[2]

ASM
SPWM_LIST  macro                    ; Define PIN's to use for SPWM
     SPWM_PIN  GPIO, 0, _DutyVar1
     SPWM_PIN  GPIO, 1, _DutyVar2
     SPWM_PIN  GPIO, 2, _DutyVar3
  endm
  SPWM_INIT  SPWM_LIST              ; Initialize the Pins
ENDASM

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

@ INT_ENABLE  TMR1_INT              ; enable Timer 1 interrupts

;_____________________________________________________________________________

RandVar   VAR WORD : RandVar = 12345
LoopCount VAR WORD

Main:                               ; Simple Demo to fade/flash some LED's
    DutyVar1 = 5                        ; Start with 3 LED's at different
    DutyVar2 = 50                       ; brightness
    DutyVar3 = 150
    pause 3000
     
    FOR LoopCount = 1 to 4              ; Reapeat 4 times
        for DutyVar1 = 0 to 150         ; Fade LED1 UP
            pause 10
            RANDOM  RandVar             
            DutyVar3 = RandVar & $3F          ; Give LED3 a random dutycycle
        next DutyVar1
         
        for DutyVar1 = 150 to 0 STEP -1 ; Fade LED1 Down
            pause 10
            RANDOM  RandVar
            DutyVar2 = RandVar & $3F         ; Give LED2 a random dutycycle
        next DutyVar1
    NEXT LoopCount     
GOTO Main
Ioannis