I wrote a library, SerialPort, to add extra features like character size, parity, error detection, and flexible buffer sizes. It tries to be backward compatible with Arduino HardwareSerial, the C++ class for Serial.
The library is here http://code.google.com/p/beta-lib/downloads/list
. The file is SerialPortBeta20120106.zip.
There are a number of examples, Doxygen html documentation, and a readme file describing configuration options.
I implemented a fast serial datalogger with the SerialPort library and a new version of SdFat. See this file: SerialLoggerBeta20120108.zip.
Edit: most options are specified in the begin call:
SerialPort::begin(uint32_t baud, uint8_t options = SP_8_BIT_CHAR)
Sets the data rate in bits per second (baud) for serial data transmission.
[in] baud rate in bits per second (baud)
[in] options constructed by a bitwise-inclusive OR of values from the following list.
Choose one value for stop bit, parity, and character size.
The default is SP_8_BIT_CHAR which results in one stop bit, no parity, and 8-bit characters.
SP_1_STOP_BIT - use one stop bit (default if stop bit not specified)
SP_2_STOP_BIT - use two stop bits
SP_NO_PARITY - no parity bit (default if parity not specified)
SP_EVEN_PARITY - add even parity bit
SP_ODD_PARITY - add odd parity bit
SP_5_BIT_CHAR - use 5-bit characters (default if size not specified)
SP_6_BIT_CHAR - use 6-bit characters
SP_7_BIT_CHAR - use 7-bit characters
SP_8_BIT_CHAR - use 8-bit characters