diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-12-18 16:42:14 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-18 16:42:14 +0000 |
| commit | b494f2819c32c1b0e6884af8a259c314af2ec2de (patch) | |
| tree | cf91efd55a219960b6a266608030d3431653b81d /embassy-nrf/src/time_driver.rs | |
| parent | c3b5b1243f9ac80c85dc2fd1f88788a60baafd2f (diff) | |
| parent | 01d8543bc71d003b6f3aad50d17ff4fd0fa7461a (diff) | |
Merge pull request #5104 from embassy-rs/nrf54-now-init
fix: avoid hang if calling now() before syscounter is enabled
Diffstat (limited to 'embassy-nrf/src/time_driver.rs')
| -rw-r--r-- | embassy-nrf/src/time_driver.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/embassy-nrf/src/time_driver.rs b/embassy-nrf/src/time_driver.rs index 35f65bd64..21d94cc30 100644 --- a/embassy-nrf/src/time_driver.rs +++ b/embassy-nrf/src/time_driver.rs | |||
| @@ -79,6 +79,10 @@ fn calc_now(period: u32, counter: u32) -> u64 { | |||
| 79 | #[cfg(feature = "_grtc")] | 79 | #[cfg(feature = "_grtc")] |
| 80 | fn syscounter() -> u64 { | 80 | fn syscounter() -> u64 { |
| 81 | let r = rtc(); | 81 | let r = rtc(); |
| 82 | if !r.mode().read().syscounteren() { | ||
| 83 | return 0; | ||
| 84 | } | ||
| 85 | |||
| 82 | r.syscounter(0).active().write(|w| w.set_active(true)); | 86 | r.syscounter(0).active().write(|w| w.set_active(true)); |
| 83 | loop { | 87 | loop { |
| 84 | let countl: u32 = r.syscounter(0).syscounterl().read(); | 88 | let countl: u32 = r.syscounter(0).syscounterl().read(); |
