Как мне преобразовать данные u32 в & str во встроенной платформе? - PullRequest
1 голос
/ 12 марта 2020

Я хочу преобразовать целые данные u32 в строку во встроенном Rust, но проблема во встроенном, мы не можем использовать код std, поэтому есть ли способ сделать это?

let mut dist = ((elapsed as f32 / mono_timer.frequency().0 as f32 * 1e6) / 2.0) / 29.1;
let dist = dist as u32;
let data = String::from("data:");
data.push_str(dist);

1 Ответ

1 голос
/ 12 марта 2020

ответ найден

use core::fmt::Write;
use heapless::String;
use heapless::consts::*;

fn foo(){
    let dist = 100u32;
    let mut data = String::<u32>::from("data:");

    // `write` for `heapless::String` returns an error if the buffer is full,
    // but because the buffer here is 32 bytes large,the u32 will fit with a 
    //lot 
    // of space left.
    let _=write!(data,"{}", dist);
}
...