I guess I should add - the reason you receive in hardware and send in software is -
Hardware receive is the only way you can never miss a byte (and still have your program doing something).
Software send is the only way you can get an open-collector output without using an extra chip on your board.
Bookmarks