Oh I feel like such an idiot - Note to self, double check the label in 'serin' if you change your code substantially...
Code:' Configure the pic @ device pic12F675, INTRC_OSC_NOCLKOUT, WDT_ON, PWRT_ON, MCLR_OFF, BOD_ON, CPD_OFF, PROTECT_OFF N9600 con 6 CMCON = 7 ANSEL = 0 Relay1 VAR GPIO.5 Relay2 VAR GPIO.4 SlavePower VAR GPIO.2 SlaveRelay1 VAR GPIO.0 SlaveRelay2 VAR GPIO.1 Serial VAR GPIO.3 B0 var BYTE SlaveState VAR BYTE WhichRelay VAR BYTE INPUT SlaveRelay1 INPUT SlaveRelay2 INPUT Serial OUTPUT Relay1 OUTPUT Relay2 OUTPUT SlavePower restart: SlaveState = 0 PAUSEUS 1000 HIGH SlavePower main: B0 = 0 SERIN Serial, N9600, 15, testSlave, [1], B0 LOW SlavePower SELECT CASE B0 CASE 2 GOSUB subUp CASE 3 GOSUB subDown CASE 4 GOSUB subStop END SELECT GOTO restart testSlave: WhichRelay = GPIO & 3 IF SlaveState <> WhichRelay THEN SlaveState = WhichRelay SELECT CASE WhichRelay CASE 0 GOSUB subStop CASE 1 GOSUB SubUp Case 2 GOSUB subDown END SELECT ENDIF goto main subUp: LOW Relay2 HIGH Relay1 RETURN subDown: LOW RELAY1 HIGH Relay2 RETURN subStop: LOW Relay1 LOW Relay2 RETURN




Bookmarks