home

softUART

1. periodic timer interrupt at a rate 4-32x higher than the baudrate.

http://www.atmel.com/dyn/resources/prod_documents/doc3ab877f2ec329.pdf
http://www.semiconductors.philips.com/acrobat/applicationnotes/AN446.pdf

2. receiver triggered by an edge-triggered external interrupt (special: a counter set to roll over on the first edge); then sampled using timer timed at baudrate (first sample at 1/2 baudrate for startbit).
Transmitter simply using timer at baudrate.

An implementation using PCA found in some 8051 derivatives:
http://www.intel.com/design/mcs51/applnots/270531.htm

3. only receiver or only transmitter by performing the sampling in a loop in main program

An implementation from Dunfield: ftp://ftp.dunfield.com/ddsutils.zip