We can kick start the internal timer outside of the main loop
This commit is contained in:
parent
16b6c78332
commit
34e9e85819
1 changed files with 10 additions and 11 deletions
|
@ -270,13 +270,16 @@ impl<'d, const N: usize> Saadc<'d, N> {
|
|||
|
||||
// Establish mode and sample rate
|
||||
match mode {
|
||||
Mode::Timers(sample_rate) => r.samplerate.write(|w| {
|
||||
Mode::Timers(sample_rate) => {
|
||||
r.samplerate.write(|w| {
|
||||
unsafe {
|
||||
w.cc().bits(sample_rate);
|
||||
w.mode().timers();
|
||||
}
|
||||
w
|
||||
}),
|
||||
});
|
||||
r.tasks_sample.write(|w| unsafe { w.bits(1) }); // Need to kick-start the internal timer
|
||||
}
|
||||
Mode::Task => r.samplerate.write(|w| {
|
||||
unsafe {
|
||||
w.cc().bits(0);
|
||||
|
@ -334,10 +337,6 @@ impl<'d, const N: usize> Saadc<'d, N> {
|
|||
r.events_started.reset();
|
||||
r.intenset.write(|w| w.started().set());
|
||||
|
||||
if let Mode::Timers(_) = mode {
|
||||
r.tasks_sample.write(|w| unsafe { w.bits(1) });
|
||||
}
|
||||
|
||||
let next_buffer = 1 - current_buffer;
|
||||
r.result
|
||||
.ptr
|
||||
|
|
Loading…
Reference in a new issue