PDA

View Full Version : HSERIN and HSEROUT problems



amindzo
- 30th August 2006, 00:36
Hi,
i wrote this program to give serial information by jserin and hserout instructions.i want to send
"C" charactor and then send B0 and B1 valude and in reciver first i should get the "C" charactor
anf then get serial data and put them in B0 and B1 variables and show them on lcd.
when i turn on reciver after 1 or 2 seconds some randim numbers is shown on lcd without turning on transmitter.
could you help me with this problem?

transmitter program:
define OSC 4
' Set transmit register to transmitter enabled
DEFINE HSER_TXSTA 20h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
B0 var byte
B1 var byte
B0=125
B1=225
hserout ["C"]
hserout [bin B0,B1]
end

reciver program:
define OSC 4
'
'lcd defines
'

' Set receive register to receiver enabled
DEFINE HSER_RCSTA 90h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
n var byte
B0 var byte
B1 var byte
ArrayVar var byte
C var byte
n=1
hserin [STR ArrayVar\n\C]
hserin [bin B0,B1]
lcdout $fe,1,#B0," ",#B1
end

GaryD
- 6th September 2006, 22:11
Hi,
i wrote this program to give serial information by jserin and hserout instructions.i want to send
"C" charactor and then send B0 and B1 valude and in reciver first i should get the "C" charactor
anf then get serial data and put them in B0 and B1 variables and show them on lcd.
when i turn on reciver after 1 or 2 seconds some randim numbers is shown on lcd without turning on transmitter.
could you help me with this problem?

transmitter program:
define OSC 4
' Set transmit register to transmitter enabled
DEFINE HSER_TXSTA 20h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
B0 var byte
B1 var byte
B0=125
B1=225
hserout ["C"]
hserout [bin B0,B1]
end

reciver program:
define OSC 4
'
'lcd defines
'

' Set receive register to receiver enabled
DEFINE HSER_RCSTA 90h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
n var byte
B0 var byte
B1 var byte
ArrayVar var byte
C var byte
n=1
hserin [STR ArrayVar\n\C]
hserin [bin B0,B1]
lcdout $fe,1,#B0," ",#B1
end

amindzo:
appears your attempting to use those 418mhz serial tx/rx modules:
try this code out;

transmitter program:
define OSC 4
' Set transmit register to transmitter enabled
DEFINE HSER_TXSTA 20h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25
B0 var byte
B1 var byte
B0=125
B1=225
hserout ["A","C",B0,B1]
end

receiver program:
define OSC 4
'
'lcd defines
'

' Set receive register to receiver enabled
DEFINE HSER_RCSTA 90h
' Set baud rate
DEFINE HSER_BAUD 1200
' Set SPBRG directly (normally set by HSER_BAUD)
DEFINE HSER_SPBRG 25

B0 var byte
B1 var byte

main:
hserin [wait ("C"),B0,B1]
lcdout $fe,1,#B0," ",#B1

goto main

end