Hi Dave :-)
How are you ?
Tried the code exactly as you suggested ...
On the receiver end it seems like debug is just WAITing forever to receive the number 9 match but it never seems to get it, so that's where the program stops.
I thought it might be the order of the numbers so I changed their order but that didn't fix the problem.
Is it possible that the problem could be on the receiver PIC as I still have a serout line to send the data to the PC serial port to view in hyperterminal.
Is it ok to run debug and serin in the same PIC ( wondering if this is a silly question) or should I use debug to transmit to hyperterminal as well ?
Could the problem be that I have the DEFINE statements in the wrong place ? I noticed an extra space character in the code snippet you posted between mode and 0 .. removed that and recompiled but still no joy :-(
Any suggestions ?
Here's the code :
Receiver
Code:
'debug defines begin here - necessary for degug operation
DEFINE DEBUG_MODE 0 ' Debug sending TRUE serial data
DEFINE DEBUG_REG PORTC ' Debug Port = PortC
DEFINE DEBUG_BIT 4 ' Debug.bit = PortC.4
DEFINE DEBUG_BAUD 2400 ' Default baud rate = 2400
'debug defines end here
'Main code begins here
Pause 2000 ' Wait for LCD to startup
test:
lcdout $fe,1
lcdout "starting tx rx"
'*******************************************
'*SERIN PORTC.4,T2400,[9],net 'prepare to receive the data from other PIC
'*this lines works perfectly to send data
'*******************************************
'
'****heres the same thing using debugin (RX)- check/adjust defines for settings
DEBUGIN [WAIT("9"),DEC net]
'****end of debug line
lcdout "rx complete"
pause 1000
lcdout $fe,1 'clear lcd screen
IF net = 3 then
lcdout $fe,1
LCDOUT "data is ",dec net 'look for the number 3
pause 2000
endif
lcdout $fe,1
lcdout "begin serout to hyperterminal"
pause 1000
LOOKUP net,[0,"123A456B789C*0#D"],net 'use lookup table to diplay proper display in hyperterminal
' send net variable to hyperterminal using serout
serout PORTC.3,T2400,["the key pressed or received value is ",net,10,13]
lcdout $fe,1
goto test
end
Transmitter
Code:
'debug defines begin here
DEFINE DEBUG_MODE 0 ' Debug sending TRUE serial data
DEFINE DEBUG_REG PORTC ' Debug Port = PortC
DEFINE DEBUG_BIT 4 ' Debug.bit = PortC.4
DEFINE DEBUG_BAUD 2400 ' Default baud rate = 2400
'end of debug defines
LED var PORTd.0 ' Alias PORTD.0 to LED
loopy:
high LED ' LED on
Pause 1000 ' Delay for .5 seconds
low led 'LED off
Pause 1000 ' Delay for .5 seconds
'*this serout lines works perfectly :-)
'SEROUT PORTC.4,T2400,[9,3]
'**another example - SerOut PORTC.6,T2400,["are you receiving this tx from 16f887 ",datatx]
'DEBUG line starts here
DEBUG 3,9
'end of debug line
pause 1000
Goto loopy ' Go back to loop and blink LED forever
End
'End of all code
Bookmarks