if I want to connect two boards via serial and they have two different logic levels (3.3V(5Vtolerant) and 5V)...
The 5V board will be able to send messages, the 3.3V-board can receive, but not the other way round, right?
The 5V-board cant read 3.3V-serial messages, can it?
This is about my ArduinoMEGA2560 and a XbeePro-module. So what do you think?
OK, 3V, which is still below what the 3.3V device would put out (hopefully) when driving a pin high.
You might need to check the specs for the XbeePro to see what the guaranteed minimum output high voltage was, running at 3.3V, at the loads imposed by the serial port (probably not much).
Hmm, judging by a datasheet I found, it will be a minimum of 0.82 * Vcc, namely 2.7V at a Vcc of 3.3V, so that would be a bit low.
You might want to test how they work in practice, or get a cheap logic-level converter. You could make one with a MOSFET and a couple of resistors. See the Arduino Basic Connections book, page 6.
for our applications max ratings are rarely important, typical ratings are a better guideline. for 3.3v/5v interfacing a simple 1k resistor will almost always suffice. depending on direction even that may not be needed.
yes. unless you go beyond 100khz where, depending on wiring, stray capacitance can distort the signal. i use 1k or 2k which is still below the (unofficial) 2ma max clamp current. tests show the minimum to be around 200ohms but getting down there would be a bad idea.