Just try sending nothing but $AA and $55, nothing else. Forget about manchester encoding and the encoders for awhile.
At the transmitter end, using the PIC, send out an $AA, then a $55, and repeat....
At the receiver end, put the 'scope on the digital output.
If they don't match up, instead of
transmit:
serout2 portb.3,n9600, [$aa]
goto transmit
try:
transmit:
serout2 portb.3, t9600, [$aa]
goto transmit
Actually, I think that's your problem!!! You're trying to use the inverted RS232 mode instead of the non-inverted mode. Just change the n9600 to t9600 and see what happens. If you look at my code above, I use serout2 with a mode value of 84, which means true logic levels, 9600 baud, 8 bit, no parity, one stop bit.
About the only time you'll really need that inverted mode is when you're hooking up to a PC's serial port without a level translator in the middle like a MAX232.
Let me know what happens...
JDG




Bookmarks