Quote Originally Posted by mister_e View Post
Another Variant...
Code:
        DEFINE OSC 40      
        DEFINE HSER_RCSTA 90h 
        DEFINE HSER_TXSTA 20h 
        DEFINE HSER_BAUD 9600
        DEFINE HSER_SPBRG 64

        WaitFor     var byte [6]
        CounterA    VAR BYTE
        clear
        PORTD = 0
        TRISD = 0
        Hserout ["Varidrive V2011.00 has started",13,10] 
 
main:   
        GOSUB ClearArray     
        HSEROUT ["Main loop",13,10]   
        HSERIN   1000,Test_bloff,[str waitFor\6]
        
Test_bloff:
        ARRAYREAD  WaitFor,6, Test_blon,[WAIT ("bloff",0)]
        LOW PORTD.4
        HSEROUT ["OFF",13,10]
        goto main
        
Test_blon:
        ARRAYREAD  WaitFor,6, FAIL,[WAIT ("blon",0)]
        HIGH PORTD.4
        HSEROUT ["ON",13,10]
        goto main
        
FAIL:
        HSEROUT ["FAIL!",13,10]
        GOTO main
        
ClearArray:
        FOR CounterA = 0 TO 5
                WaitFor[CounterA]=0
                next
        RETURN
now tell me it's not hard
Thanks a lot, your code is perfectly understandable.