'20X2
'E32-TTL-100 Transceiver
'Two Way Comms Testing 27-01-19
'MASTER
'~PINS~
'B.3 - LOCK - Transceiver OUTPUT - High=Sync complete, Low=incomplete
'B.4 - AUX - Transceiver
'B.5 - NOLINK LED
'B.6 - Receive - Transceiver's OUTPUT
'B.7 - LINK ACTIVE LED
'C.0 - Transmit - Transceiver's INPUT
'C.1 - RESET Button
''''''''''''''''''''''''''''''''''''
'MASTER
#define rb_code_master "rb6134997532"
'SLAVE
#define rb_code_slave "rb2997832165"
''''''''''''''''''''''''''''''''''''
init:
setfreq m32
setint %00000000,%00000010,C 'First set is state it changes to. 1=HIGH 0=LOW, second set selects which pin of port C. In this case Pin C.1
high c.0 'Set TX line HIGH for 'TRUE' data transmission
let b3=122
let b4=123
let b5=124
let b6=125
let b7=127
let b8=128
let b9=129
let b10=130
let b11=131
let b12=132
let b13=133
let b14=134
let b15=135
let b16=136
let b17=137
let b18=138
let b19=139
let b20=140
let b21=141
let b22=142
let b23=143
let b24=144
let b25=145
let b26=146
let b27=147
let b28=148
let b29=149
let b30=150
let b31=151
let b32=152
let b33=153
main:
random w0 'Generate a random number to transmit
waitreadytx:
if pinb.4=0 or pinb.3=0 then goto waitreadytx
pause 200
serout c.0,T9600_32,(rb_code_master,b0,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33)
waitreadyrx:
if pinb.4=0 or pinb.3=0 then goto waitreadyrx
pause 200
serin[3000, nolink],b.6,T9600_32,(rb_code_slave),b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33
if b2=b0 then inc w20 low b.5 high b.7 pause 50 low b.7 goto main endif
nolink:
sertxd("Link lost! ",#w20," Good links prior to link loss. Sent: ",#b0," Received: ",#b2,cr,cr)
low b.7
high b.5
let b0=0
let b2=0
let w20=0
pause 600
goto main
interrupt:
reset