#stm32 #arm #cortex-m #1bitsy

no-std onebitsy

1Bitsy开发板支持包

5个版本

0.2.0 2020年5月29日
0.1.3 2020年5月6日
0.1.2 2020年5月6日
0.1.1 2020年5月6日
0.1.0 2020年5月6日

102 in #stm32

MIT 许可证

10KB
177 代码行

1bitsy 开发板支持包

Crates.io API docs

该包相对未经验证

它封装并使如何使用

  • 板支持的Pins集更加明显
  • 板上的LED在PA8
  • 板上的按钮在PC1
  • 板上的25MHz高速振荡器晶振

lib.rs:

1Bitsy 开发板支持包

用法

use onebitsy::{self, stm32, Led, Button};
use cortex_m_rt::{entry, exception};

#![entry]
fn main() -> ! {
  if let (Some(dp), Some(_cp)) = (
      stm32::Peripherals::take(),
      cortex_m::peripheral::Peripherals::take(),
  ) {
      let _clocks = onebitsy::configure_clocks(dp.RCC.constrain());

      let pins = onebitsy::Pins::new(
          dp.GPIOA.split(),
          dp.GPIOB.split(),
          dp.GPIOC.split(),
          dp.GPIOD.split(),
      );
      let mut led = onebitsy::led(pins.pa8);
      let button = onebitsy::button(pins.pc1);

      loop {
          if button.is_pressed() {
              led.on();
          } else {
              led.off();
          }
      }
  }

  loop {}
}

依赖项

~53MB
~1.5M SLoC