Begin
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
#![no_main]
|
||||
#![no_std]
|
||||
|
||||
use defmt::*;
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_stm32::{Config, bind_interrupts, dma::InterruptHandler, i2c::{self, ErrorInterruptHandler, EventInterruptHandler, I2c}, peripherals::{DMA1_CH1, DMA1_CH2, I2C2}};
|
||||
|
||||
use defmt_rtt as _;
|
||||
use panic_probe as _;
|
||||
|
||||
bind_interrupts!(struct Irqs {
|
||||
DMA1_CHANNEL2_3 => InterruptHandler<DMA1_CH2>;
|
||||
DMA1_CHANNEL1 => InterruptHandler<DMA1_CH1>;
|
||||
I2C2_3 => EventInterruptHandler<I2C2>, ErrorInterruptHandler<I2C2>;
|
||||
});
|
||||
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) {
|
||||
let config = Config::default();
|
||||
let p = embassy_stm32::init(config);
|
||||
|
||||
let mut i2c_cfg = i2c::Config::default();
|
||||
// i2c_cfg.sda_pullup = true;
|
||||
// i2c_cfg.scl_pullup = true;
|
||||
i2c_cfg.sda_pullup = false;
|
||||
i2c_cfg.scl_pullup = false;
|
||||
let mut i2c = I2c::new(
|
||||
p.I2C2,
|
||||
p.PA7, p.PA6,
|
||||
p.DMA1_CH1, p.DMA1_CH2,
|
||||
Irqs,
|
||||
i2c_cfg);
|
||||
|
||||
i2c.write(0x1A, &[0x02u8]).await.unwrap();
|
||||
|
||||
info!("Success!");
|
||||
}
|
||||
Reference in New Issue
Block a user