From 898fce80c309b06d829cb692613a4353d44b2667 Mon Sep 17 00:00:00 2001 From: sowgro Date: Tue, 28 Oct 2025 15:19:02 -0400 Subject: push activity10 --- project/Core/Inc/Activities/activity10.h | 13 +++++++++++++ project/Core/Src/Activties/activity10.c | 27 +++++++++++++++++++++++++++ project/Core/Src/System/systick.c | 3 ++- project/Core/Src/main.c | 4 ++-- 4 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 project/Core/Inc/Activities/activity10.h create mode 100644 project/Core/Src/Activties/activity10.c diff --git a/project/Core/Inc/Activities/activity10.h b/project/Core/Inc/Activities/activity10.h new file mode 100644 index 0000000..ccc7086 --- /dev/null +++ b/project/Core/Inc/Activities/activity10.h @@ -0,0 +1,13 @@ +/* + * activity10.h + * + * Created on: Oct 28, 2025 + * Author: sowgro + */ + +#ifndef INC_ACTIVITIES_ACTIVITY10_H_ +#define INC_ACTIVITIES_ACTIVITY10_H_ + +void activity10_run(); + +#endif /* INC_ACTIVITIES_ACTIVITY10_H_ */ diff --git a/project/Core/Src/Activties/activity10.c b/project/Core/Src/Activties/activity10.c new file mode 100644 index 0000000..78261ff --- /dev/null +++ b/project/Core/Src/Activties/activity10.c @@ -0,0 +1,27 @@ +/* + * activity10.c + * + * Created on: Oct 28, 2025 + * Author: sowgro + */ +// create a clock that prints once per second using interrupts +// configure systick handler for interrupts +// write interrupt handler +// print every second + +#include "systick.h" +#include + +void activity10_run() { + init_systick(); +} + +void SysTick_Handler() { + static int i = 0; + i++; + + if (!(i & 1023)) { + printf("%d\r\n", i>>10); + } + +} diff --git a/project/Core/Src/System/systick.c b/project/Core/Src/System/systick.c index a9e38c7..ac3a731 100644 --- a/project/Core/Src/System/systick.c +++ b/project/Core/Src/System/systick.c @@ -18,7 +18,8 @@ void init_systick() s->CSR &= ~1; s->CSR |= 1<<2; - s->RVR = 8000000; // 100 ms + s->CSR |= 1<<1; // enable interrupt + s->RVR = 78124; // 100 ms s->CSR |= 1; } diff --git a/project/Core/Src/main.c b/project/Core/Src/main.c index bb18077..9aac659 100644 --- a/project/Core/Src/main.c +++ b/project/Core/Src/main.c @@ -8,7 +8,7 @@ #include "LED.h" #include "UART.h" #include "demo.h" -#include "activity7.h" +#include "activity10.h" #include #include "hw4.h" #include "project.h" @@ -24,6 +24,6 @@ int main(void){ printf("\n\n\n\n\n\n\n\n\r"); // run_demo(); // project_run(); - activity9_run(); + activity10_run(); } -- cgit v1.2.3