0
\$\begingroup\$

I am trying to connect Raspberry Pi ver 2 with my PC using UART.

Connection of my board is

Raspi Tx -> Rx RS232toUSB PC

Raspi Rx -> Tx RS232toUSB PC

Raspi GND -> GND PC

Problem I am facing with this is while I send "+" using picocom on Raspi it gives me output "j" on teraterm

Also I want to connect it to Xbee S2C module

Connections are

Raspi Tx -> Rx Xbee

Raspi Rx -> Tx Xbee

Raspi GND -> GND Xbee

Raspi 3.3v -> Vcc Xbee

With using it on Picocom giving input of "+++" for 3 or 4 times it gives Output of "K".

While using with Breakout board og Xbee it works normally.

Please help me to determine problem with Raspi UART

Is max3232 IC required between interface?

Thanks in advance

\$\endgroup\$
  • \$\begingroup\$ The raspberry pi does not speak RS232 levels; it expects 3.3v levels that are inverted in sense, and not only that exposing it to RS232 levels will probably destroy the internal iobuffers of the relevant pins. \$\endgroup\$ – Chris Stratton Jan 16 '17 at 6:09
  • \$\begingroup\$ Thanks @ChrisStratton Xbee should work with same levels but it is also not working properly \$\endgroup\$ – Abhishek Parikh Jan 16 '17 at 6:17
  • \$\begingroup\$ Should I use MAX3232 inbetween my PC and Pi? \$\endgroup\$ – Abhishek Parikh Jan 16 '17 at 6:20
  • 1
    \$\begingroup\$ Most people just use USB-logic level serial converters rather than using one that converts to RS232 and then having to use an additional IC to convert that to logic level. But back in the days when development machines had native RS232 ports, yes, we used chips like the MAX*232. \$\endgroup\$ – Chris Stratton Jan 16 '17 at 6:32
  • \$\begingroup\$ Thanks a lot @ChrisStratton for understanding can you please write in answer the brief so that I can accept it. Thanks \$\endgroup\$ – Abhishek Parikh Jan 16 '17 at 7:15
1
\$\begingroup\$

Like most other modern bare boards, the raspberry pi does not speak RS232 levels; it expects 3.3v levels that are inverted in sense, and exposing it to RS232 levels will probably destroy the internal iobuffers of the relevant pins if not the SoC overall.

Most people just use USB<>logic-level serial converters with suitable I/O voltages rather than using one that converts to RS232 and then having to use an additional IC to convert that to logic level. (The USB interface chip itself speaks logic levels, so a cable with an RS232 connector is one that has an internal translator to RS232 levels between the USB chip and the outside world). But back in the days when development machines had native RS232 ports, yes, we used chips like the MAX*232.

Note that some devices - for example certain BeagleBone boards and some Android phones - actually have even lower voltage serial channels - these expect 1.x volts and would be damaged by 3.3v signals.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.