Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simply delayNano Mod Add delayCycles #387

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 7 additions & 1 deletion teensy4/core_pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -1464,7 +1464,13 @@ static inline void delayNanoseconds(uint32_t nsec)
while (ARM_DWT_CYCCNT - begin < cycles) ; // wait
}


static inline void delayCycles(uint32_t) __attribute__((always_inline, unused));
static inline void delayCycles(uint32_t cycles)
{ // MIN return in 7 cycles NEAR 20 cycles it gives wait +/- 2 cycles - with sketch timing overhead
uint32_t begin = ARM_DWT_CYCCNT-10; // Overhead Factor for execution
while (ARM_DWT_CYCCNT - begin < cycles) ; // wait
}

unsigned long rtc_get(void);
void rtc_set(unsigned long t);
void rtc_compensate(int adjust);
Expand Down