Merge #896
896: Implement I2C pullup configuration r=lulf a=chemicstry I wasn't sure if I should put frequency into config struct, so left it separate as in SPI periph. Also added Copy derives to gpio types, not sure why they weren't? Co-authored-by: chemicstry <chemicstry@gmail.com>
This commit is contained in:
@ -39,7 +39,16 @@ async fn main(_spawner: Spawner, p: Peripherals) {
|
||||
|
||||
let mut led = Output::new(p.PE3, Level::High, Speed::Low);
|
||||
let i2c_irq = interrupt::take!(I2C1_EV);
|
||||
let cam_i2c = I2c::new(p.I2C1, p.PB8, p.PB9, i2c_irq, p.DMA1_CH1, p.DMA1_CH2, khz(100));
|
||||
let cam_i2c = I2c::new(
|
||||
p.I2C1,
|
||||
p.PB8,
|
||||
p.PB9,
|
||||
i2c_irq,
|
||||
p.DMA1_CH1,
|
||||
p.DMA1_CH2,
|
||||
khz(100),
|
||||
Default::default(),
|
||||
);
|
||||
|
||||
let mut camera = Ov7725::new(cam_i2c, mco);
|
||||
|
||||
|
@ -16,7 +16,16 @@ const WHOAMI: u8 = 0x0F;
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
let irq = interrupt::take!(I2C2_EV);
|
||||
let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000));
|
||||
let mut i2c = I2c::new(
|
||||
p.I2C2,
|
||||
p.PB10,
|
||||
p.PB11,
|
||||
irq,
|
||||
NoDma,
|
||||
NoDma,
|
||||
Hertz(100_000),
|
||||
Default::default(),
|
||||
);
|
||||
|
||||
let mut data = [0u8; 1];
|
||||
unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data));
|
||||
|
@ -18,7 +18,16 @@ const WHOAMI: u8 = 0x0F;
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
let irq = interrupt::take!(I2C2_EV);
|
||||
let i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000));
|
||||
let i2c = I2c::new(
|
||||
p.I2C2,
|
||||
p.PB10,
|
||||
p.PB11,
|
||||
irq,
|
||||
NoDma,
|
||||
NoDma,
|
||||
Hertz(100_000),
|
||||
Default::default(),
|
||||
);
|
||||
let mut i2c = BlockingAsync::new(i2c);
|
||||
|
||||
let mut data = [0u8; 1];
|
||||
|
@ -15,7 +15,16 @@ const WHOAMI: u8 = 0x0F;
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner, p: Peripherals) -> ! {
|
||||
let irq = interrupt::take!(I2C2_EV);
|
||||
let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, p.DMA1_CH4, p.DMA1_CH5, Hertz(100_000));
|
||||
let mut i2c = I2c::new(
|
||||
p.I2C2,
|
||||
p.PB10,
|
||||
p.PB11,
|
||||
irq,
|
||||
p.DMA1_CH4,
|
||||
p.DMA1_CH5,
|
||||
Hertz(100_000),
|
||||
Default::default(),
|
||||
);
|
||||
|
||||
let mut data = [0u8; 1];
|
||||
unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data).await);
|
||||
|
Reference in New Issue
Block a user