diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-07-20 09:43:06 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-07-20 09:43:06 +0200 |
| commit | da33b3a4d2fbb188c1c867e9092e7fec10b3a88e (patch) | |
| tree | d0b2ef80877fca47afd4d2c6e38170a91a744601 /embassy-rp | |
| parent | dbff5cc2321b7408086bf3854a9aaeb8cc0476e6 (diff) | |
rp/spi: disable+enable when setting frequency
Diffstat (limited to 'embassy-rp')
| -rw-r--r-- | embassy-rp/src/spi.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/embassy-rp/src/spi.rs b/embassy-rp/src/spi.rs index 19c9d07c0..959ad9b0f 100644 --- a/embassy-rp/src/spi.rs +++ b/embassy-rp/src/spi.rs | |||
| @@ -142,10 +142,17 @@ impl<'d, T: Instance> Spi<'d, T> { | |||
| 142 | let (presc, postdiv) = calc_prescs(freq); | 142 | let (presc, postdiv) = calc_prescs(freq); |
| 143 | let p = self.inner.regs(); | 143 | let p = self.inner.regs(); |
| 144 | unsafe { | 144 | unsafe { |
| 145 | // disable | ||
| 146 | p.cr1().write(|w| w.set_sse(false)); | ||
| 147 | |||
| 148 | // change stuff | ||
| 145 | p.cpsr().write(|w| w.set_cpsdvsr(presc)); | 149 | p.cpsr().write(|w| w.set_cpsdvsr(presc)); |
| 146 | p.cr0().modify(|w| { | 150 | p.cr0().modify(|w| { |
| 147 | w.set_scr(postdiv); | 151 | w.set_scr(postdiv); |
| 148 | }); | 152 | }); |
| 153 | |||
| 154 | // enable | ||
| 155 | p.cr1().write(|w| w.set_sse(true)); | ||
| 149 | } | 156 | } |
| 150 | } | 157 | } |
| 151 | } | 158 | } |
