Support for basic serial port access, including initialization, transmit, and receive.
This is a near-standalone crate with very minimal dependencies and a basic feature set
intended for use during early Theseus boot up and initialization.
For a more featureful serial port driver, use the
Some serial port drivers use special cases for transmitting some byte values,
0x7F, which are ASCII “backspace” and “delete”, respectively.
They do so by writing them as three distinct values (with proper busy waiting in between):
0x20(an ascii space character)
This isn’t necessarily a bad idea, as it “clears out” whatever character was there before, presumably to prevent rendering/display issues for a deleted character. But, this isn’t required, and I personally believe it should be handled by a higher layer, such as a shell or TTY program. We don’t do anything like that here, in case a user of this crate wants to send binary data across the serial port, rather than “smartly-interpreted” ASCII characters.
A serial port and its various data and control registers.
The base port I/O addresses for COM serial ports.
The types of events that can trigger an interrupt on a serial port.