I have an 8051 controller that communicates over RS485 to other 8051 controller. The communication is half-duplex at baud of 57600, and it works great. So far so good. Lately, I'm trying to make the 8051 device talk with a PC, since it is57600 and I have RS232RS485 converter this should be simple.
I'm encountering strange problems at the 8051 reception, I never received what I send from the PC. For example: msb lsb PC Sends -> 110110118051 Gets -> 10111011
PC Sends -> 101100118051 Gets -> 01110011
PC Sends -> 110001018051 Gets -> 10000101
PC Sends -> 101010118051 Gets -> 01001011
Even more, when the msb is "0" the reception interrupt does not trigger. It looks like the 8051 ignores the PC start bit or something...
The protocol is 9-bit multi-drop, which i already implemented on PC side using Space and Mark parities, it worked fine with some other9-bit PIC devices.
I'm debugging the 8051 device with a DS-ICE but i don't think this is the problem. I'm totally out of ideas what could be wrong.
Regards, Edo Reshef