If you have PBP 2.60, you might do something like this ...Code:LED VAR PortB.0 CmdIdx VAR BYTE Data_Array VAR BYTE[4] CmdString VAR BYTE[3] ;--- Subroutine to parse commands ----------------------------- Parse: FOR CmdIdx = 0 to 3 SELECT CASE CmdIdx CASE 0 : ARRAYWRITE CmdString,["ABC"] CASE 1 : ARRAYWRITE CmdString,["DEF"] CASE 2 : ARRAYWRITE CmdString,["GHI"] CASE 3 : ARRAYWRITE CmdString,["JKL"] END SELECT ARRAYREAD Data_Array,3,NoCmd,[WAITSTR CmdString\3] ON CmdIdx GOTO cmd_ABC, cmd_DEF, cmd_GHI, cmd_JKL ; found cmd NoCmd: NEXT CmdIdx ; if it gets here no commands were found RETURN cmd_ABC: SELECT CASE Data_Array[3] CASE "1" HIGH LED 'If received ABC1 PAUSE 1000 'then turn LED on LOW LED 'for 1s and return CASE "2" HIGH LED 'If received ABC2 PAUSE 2000 'then turn LED on LOW LED 'for 2s and return END SELECT RETURN cmd_DEF: RETURN cmd_GHI: RETURN cmd_JKL: RETURN




Bookmarks