#convenience #timing #can-bus #calculate #proc-macro #procedural #bit

no-std can-bit-timings

这是一个用于计算CAN总线时序的过程宏

3个稳定版本

1.1.0 2021年2月22日
1.0.1 2021年2月22日
1.0.0 2021年2月21日

#784 in 嵌入式开发

MPL-2.0 许可证

13KB

can_bit_timings

CI Crates.io

这是一个过程宏(最初是一个 constexpr 函数(const fn)),用于计算不同STM32 MCU bxcan模块的CAN总线时序。它可以用于计算不同MCU的时序,但用户需要编写一个函数,将计算出的值格式化为合适的寄存器值。

该项目基于 modm 项目中的类似代码。有关位时序的更多信息,请参阅 此处

示例

#[no-std]
use can_bus_timings::can_timings_bxcan;

const fn can0_timings() -> u32{
    can_timings_bxcan!(10.mhz(), 1.mhz())
}

fn main(){
    // ... CAN hardware initialization
    can0_timings();
}

依赖项

~1.5MB
~36K SLoC