Mais traits
Derivamos o trait Debug. Seria útil implementar alguns traits a mais também.
use core::fmt::{self, Write};
impl Write for Uart {
fn write_str(&mut self, s: &str) -> fmt::Result {
for c in s.as_bytes() {
self.write_byte(*c);
}
Ok(())
}
}
// SEGURANÇA: `Uart` contém apenas um ponteiro para memória de dispositivo, que pode ser
// acessado de qualquer contexto.
unsafe impl Send for Uart {}
- A implementação de
Writenos permite usar os macroswrite!ewriteln!com nosso tipoUart. - Execute o exemplo no QEMU com
make qemu_minimalemsrc/bare-metal/aps/examples.