背景: 我正在使用Nucleo-G071RB开发板。我刚接触rust,并正在通过一些嵌入式HAL的示例进行学习。
我成功地运行了这个例子,但当我尝试更改波特率时遇到了一些困难(链接是对应写作时的master分支): https://github.com/stm32-rs/stm32g0xx-hal/blob/116ac758cc50f4e1bfb9270d41403eac462cd791/examples/uart.rs
我在示例中找到了默认函数的引用: https://github.com/stm32-rs/stm32g0xx-hal/blob/116ac758cc50f4e1bfb9270d41403eac462cd791/src/serial.rs#L112
于是我尝试做了类似的事情:
fn uart_cfg() -> serial::Config {
let baudrate = 115_200.bps();
serial::Config {
baudrate,
wordlength: serial::WordLength::DataBits8,
parity: serial::Parity::ParityNone,
stopbits: serial::StopBits::STOP1,
}
}
这给了我:
error[E0451]: field `baudrate` of struct `hal::serial::Config` is private
--> src/main.rs:22:9
|
22 | baudrate,
| ^^^^^^^^ field `baudrate` is private
如何清晰地设置UART外设的波特率?
(省略重复错误)。