5个不稳定版本
0.4.1 | 2021年12月4日 |
---|---|
0.4.0 | 2021年12月4日 |
0.3.0 | 2021年5月5日 |
0.2.4 | 2019年7月15日 |
0.2.3 | 2019年7月15日 |
#1532 in 嵌入式开发
每月138次下载
11KB
233 代码行
SVisual-rs
为SVisual客户端提供的基本Rust结构和特性。
例如,实现示例请见svisual-stm32f1。
使用方法
让我们测量两个变量,每个100毫秒,并在测量15个值后发送它们。
let (mut tx, _) = Serial::usart3(
p.USART3,
(tx, rx),
&mut afio.mapr,
Config::default().baudrate(9600.bps()),
clocks,
&mut rcc.apb1,
)
.split();
let mut delay = Delay::new(cp.SYST, clocks);
// Create new map with not more than 2 different signals and 15 values in package
let mut sv_map = SVMap::<2, 15>::new();
loop {
for i in 0..30 {
// Set value of first signal of integers
sv_map.set("temp", 15 + i).ok();
// Set value of second signal of floats
sv_map.set("temp2", 14. - (i as f32) / 2.).ok();
// Use next value cell
sv_map.next(|s| {
// if package is full, send package with module name
block!(tx.send_package("TempMod", s)).ok();
});
// Wait
delay.delay_ms(100u16);
}
}
依赖项
~715KB
~13K SLoC