with the existing stuff, try this one
and to make something usefull with the GetOut flag, use the following. Tested and work at treat. OK i'd modified the hardware assignement to fit to one of my already build board hereCode:@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BODEN_ON ANSEL.0 = 0 ' Set GPIO.0 to digital CMCON = 7 ' PortA Digital inputs VRCON = 0 ' Voltage reference disabled TRISIO.0 = 0 ' Set GPIO.0 to output. GPIO.0 = 0 ' LED var GPIO.0 I var byte GetOut var bit main: for i = 1 to 254 Pwm GPIO.0,i,1 if i=253 then i=254 GetOut=1 endif next i if Getout=1 then down goto main down: getout=0 for i = 254 to 1 step -1 Pwm GPIO.0,i,1 if i=2 then i=1 GetOut=1 endif next i if Getout=1 then main goto down
HTHCode:@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _BODEN_ON ANSEL = 0 ' Set GPIO.0 to digital CMCON = 7 ' PortA Digital inputs VRCON = 0 ' Voltage reference disabled TRISIO = $0F ' gpio<3:0> : Input ' gpio<5:4> : Output GPIO = 0 ' clear all outputs LED var GPIO.5 PB var GPIO.0 I var byte GetOut var bit Pause 50 ' oscillator settle time... OPTION_REG.7 =0 ' enable internal pull-up WPU = 1 ' enable pull-up on GPIO.0 only main: for i = 1 to 254 Pwm led,i,1 if pb=0 then i=254 GetOut=1 endif next i if Getout=1 then while pb=0 : wend pause 50 GETOUT=0 goto down endif goto main down: for i = 254 to 1 step -1 Pwm led,i,1 if pb=0 then i=1 GetOut=1 endif next i if Getout=1 then while pb=0 : wend pause 50 GETOUT=0 GOTO main ENDIF goto down




Bookmarks