Can I connect the Serial ports of the PL2303HX to the ATMEGA328, as I read online, the tolerance level of the serial port signal of the PL2303HX are 2-3.3v but the ATMEGA328 tolerance is 5v.
Should I hook up a voltage divider between the TX of the ATMEGA328 and the RX of the PL2303? or would the PL2303HX can tolerate 5v?
As far as I understand by reading the data sheet, the RS-232 input lines are 5 volt tolerant. Apparently the chip has a pin (4) called vdd_232 which you can use to set the voltage of output-lines, which would protect connected MCU's tolerating 3-3.3V max. So, yes, it should be possible.
"RS-232 VDD. The RS-232 output signals (Pin 1 ~ Pin3) are designed for 5V, 3.3V or 3V
operation. VDD_232 should be connected to the same power level of the RS-232 interface. (The RS-232
input signals are always 5V~3V tolerant.) Note: This document version only provides 5V DC characteristic information. Refer to future revisions for updates. (Document Revision: 1.6
Document Release: April 26, 2005) "
I guess you were reading the datasheet of the PL2303 not the PL2303HX because in the datasheet of the PL2303HX it is stated that pin 4 VDD325:
RS232 VDD. The power pins for the serial port signals . When the serial port is 3.3V, this should be 3.3V. When the serial port is 2.5V, this should be 2.5V
Edit:
You can check it out for comparison and there's also a schematic at the end, I just want to know if it'll work with 5v directly.
You're right, I shouldn't trust googles results that fast, after looking it up once it indeed was the wrong datasheet, sorry.
It's nice those input pins indeed are 5 volt tolerant, but.... I wonder how 5v-tolerant the vdd325-pin is.
The HX-less version can take 5volt, but the selectable vdd325 voltage of the HX is 1.8-3.3v, applying 5 volts may be too much.
An input pin on arduino will see anything below 0.5 volts as low and above ~2 volts as high though, it doesn't need 5v. I'd apply 3.3 volt to the vdd325 pin to stay within limits, with a good chance that it will work.