diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-12-04 00:47:54 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-12-04 00:47:54 -0700 |
commit | 03b84b89f6361df556749a4c73679a6cbcedd28a (patch) | |
tree | ee5a6569feddc3bc32ab0bdb485affb56d7fafbe /src | |
parent | d6d04862de9126d0930ae1f4b95ff6077c6eda63 (diff) | |
download | ch573-03b84b89f6361df556749a4c73679a6cbcedd28a.tar.gz ch573-03b84b89f6361df556749a4c73679a6cbcedd28a.tar.bz2 ch573-03b84b89f6361df556749a4c73679a6cbcedd28a.zip |
Implemented listener system for systick.
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/systick.c | 7 |
2 files changed, 11 insertions, 0 deletions
@@ -250,3 +250,7 @@ int main(void) return 0; } + +On_SysTick() { + printf("Systick BOI!\n"); +} diff --git a/src/systick.c b/src/systick.c index 506f6df..3cd7bfa 100644 --- a/src/systick.c +++ b/src/systick.c @@ -28,7 +28,14 @@ int systick_interrupt() return SYSTICK_I.counter_interrupt_flag.get(SYSTICK); } +extern systick_cb_t SYSTICK_LISTENERS_START; +extern systick_cb_t SYSTICK_LISTENERS_END; IRQ(systick) { + systick_cb_t* cur = &SYSTICK_LISTENERS_START; + while (cur != &SYSTICK_LISTENERS_END) { + (*cur)(); + ++cur; + } SYSTICK_I.counter_interrupt_flag.set(SYSTICK, 0); } |