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
Write
nos permite usar os macroswrite!
ewriteln!
com nosso tipoUart
. - Execute o exemplo no QEMU com
make qemu_minimal
emsrc/bare-metal/aps/examples
.