# pl011-uart
[](https://crates.io/crates/pl011-uart)
[](https://docs.rs/pl011-uart)
A Rust driver for the Arm [PL011 UART](https://developer.arm.com/documentation/ddi0183/latest/).
This is not an officially supported Google product.
## Usage
Basic usage of the pl011-uart crate
```rust
use pl011_uart::Uart;
use core::fmt::Write;
fn main() {
// constants required for initializing the UART.
const PL011_BASE_ADDRESS: *mut u32 = 0x0900_0000 as _;
const PL011_BAUD_RATE: u32 = 115200;
const PL011_CLK_IN_HZ: u32 = 50000000;
// initialize PL011 UART.
let mut uart = unsafe { Uart::new(PL011_BASE_ADDRESS) };
uart.init(PL011_CLK_IN_HZ, PL011_BAUD_RATE);
// write to PL011 UART.
writeln!(uart, "Hello, World!").unwrap();
}
```
## License
Licensed under either of
- Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
## Contributing
If you want to contribute to the project, see details of
[how we accept contributions](CONTRIBUTING.md).