Skip to content

Commit 4586b6f

Browse files
committed
examples/i2c4_bdma: Initialise target buffer
1 parent c79922c commit 4586b6f

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

examples/i2c4_bdma.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,20 @@ fn main() -> ! {
9191

9292
let config = BdmaConfig::default().memory_increment(true);
9393

94+
// Initialise buffer
95+
unsafe {
96+
// Convert an uninitialised array into an array of uninitialised
97+
let buf: &mut [core::mem::MaybeUninit<u8>; 10] =
98+
&mut *(core::ptr::addr_of_mut!(BUFFER) as *mut _);
99+
buf.iter_mut().for_each(|x| x.as_mut_ptr().write(0));
100+
}
101+
94102
// We need to specify the direction with a type annotation
95103
let mut transfer: Transfer<_, _, PeripheralToMemory, &mut [u8; 10], _> =
96104
Transfer::init(
97105
streams.0,
98106
i2c,
99-
unsafe { BUFFER.assume_init_mut() }, // uninitialised memory
107+
unsafe { BUFFER.assume_init_mut() },
100108
None,
101109
config,
102110
);

0 commit comments

Comments
 (0)