diff options
| author | Süha Ünüvar <[email protected]> | 2025-08-08 23:06:17 +0800 |
|---|---|---|
| committer | Süha Ünüvar <[email protected]> | 2025-08-08 23:06:17 +0800 |
| commit | 70bf63723a316d18fb255cae2f6ef9b36f37405b (patch) | |
| tree | 8a2cddc77aa64cd1ab7491c049bdddb3068908cc /examples/stm32g4/src/bin/i2c_slave.rs | |
| parent | 5e3221bcc47bc1ce30eaf8d347377d652dbba7e2 (diff) | |
i2c examples
Diffstat (limited to 'examples/stm32g4/src/bin/i2c_slave.rs')
| -rw-r--r-- | examples/stm32g4/src/bin/i2c_slave.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/examples/stm32g4/src/bin/i2c_slave.rs b/examples/stm32g4/src/bin/i2c_slave.rs index a723a0e18..adf1f74fa 100644 --- a/examples/stm32g4/src/bin/i2c_slave.rs +++ b/examples/stm32g4/src/bin/i2c_slave.rs | |||
| @@ -6,7 +6,6 @@ use defmt::*; | |||
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::i2c::{Address, OwnAddresses, SlaveCommandKind}; | 7 | use embassy_stm32::i2c::{Address, OwnAddresses, SlaveCommandKind}; |
| 8 | use embassy_stm32::mode::Async; | 8 | use embassy_stm32::mode::Async; |
| 9 | use embassy_stm32::time::Hertz; | ||
| 10 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; | 9 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 11 | use embassy_time::Timer; | 10 | use embassy_time::Timer; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| @@ -127,8 +126,8 @@ async fn main(spawner: Spawner) { | |||
| 127 | let p = embassy_stm32::init(Default::default()); | 126 | let p = embassy_stm32::init(Default::default()); |
| 128 | info!("Hello World!"); | 127 | info!("Hello World!"); |
| 129 | 128 | ||
| 130 | let speed = Hertz::khz(400); | 129 | let mut config = i2c::Config::default(); |
| 131 | let config = i2c::Config::default(); | 130 | config.frequency = Hertz::khz(400); |
| 132 | 131 | ||
| 133 | let d_addr_config = i2c::SlaveAddrConfig { | 132 | let d_addr_config = i2c::SlaveAddrConfig { |
| 134 | addr: OwnAddresses::OA1(Address::SevenBit(DEV_ADDR)), | 133 | addr: OwnAddresses::OA1(Address::SevenBit(DEV_ADDR)), |
| @@ -136,14 +135,14 @@ async fn main(spawner: Spawner) { | |||
| 136 | }; | 135 | }; |
| 137 | let d_sda = p.PA8; | 136 | let d_sda = p.PA8; |
| 138 | let d_scl = p.PA9; | 137 | let d_scl = p.PA9; |
| 139 | let device = i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, speed, config) | 138 | let device = i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, config) |
| 140 | .into_slave_multimaster(d_addr_config); | 139 | .into_slave_multimaster(d_addr_config); |
| 141 | 140 | ||
| 142 | unwrap!(spawner.spawn(device_task(device))); | 141 | unwrap!(spawner.spawn(device_task(device))); |
| 143 | 142 | ||
| 144 | let c_sda = p.PB8; | 143 | let c_sda = p.PB8; |
| 145 | let c_scl = p.PB7; | 144 | let c_scl = p.PB7; |
| 146 | let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, speed, config); | 145 | let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, config); |
| 147 | 146 | ||
| 148 | unwrap!(spawner.spawn(controller_task(controller))); | 147 | unwrap!(spawner.spawn(controller_task(controller))); |
| 149 | } | 148 | } |
