summaryrefslogtreecommitdiff
path: root/project/Core
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-11-18 15:10:55 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-11-18 15:10:55 -0500
commitcff905096851398315b22dca341e89ab657f12d8 (patch)
treeed54c08d5abe79b44b63c2178c31d017321b87d8 /project/Core
parentb1dbfba428fe51d17f4f99e843a37a2b4eff47b2 (diff)
download340-repo-Sowgro-cff905096851398315b22dca341e89ab657f12d8.tar.gz
340-repo-Sowgro-cff905096851398315b22dca341e89ab657f12d8.tar.bz2
340-repo-Sowgro-cff905096851398315b22dca341e89ab657f12d8.zip
complete activity 13
Diffstat (limited to '')
-rw-r--r--project/Core/Src/Activties/activity13.c26
-rw-r--r--project/Core/Src/System/systick.c4
-rw-r--r--project/Core/Src/main.c3
3 files changed, 30 insertions, 3 deletions
diff --git a/project/Core/Src/Activties/activity13.c b/project/Core/Src/Activties/activity13.c
new file mode 100644
index 0000000..19eb0a4
--- /dev/null
+++ b/project/Core/Src/Activties/activity13.c
@@ -0,0 +1,26 @@
+/*
+ * activity13.c
+ *
+ * Created on: Nov 18, 2025
+ * Author: sowgro
+ */
+#include <stdint.h>
+#include <stdio.h>
+#include "systick.h"
+
+//write 1s for half the freq and 0s for the other half
+void play_freq(uint8_t hz) {
+ uint32_t rollover =herz_to_systicks(hz);
+ int count = systick_get_count();
+ if ((count % rollover) < (rollover >> 1))
+ printf("1");
+ else
+ printf("0");
+}
+
+void activity13_run() {
+ init_systick();
+ for(;;) {
+ play_freq(1);
+ }
+}
diff --git a/project/Core/Src/System/systick.c b/project/Core/Src/System/systick.c
index f9e2470..5d4d259 100644
--- a/project/Core/Src/System/systick.c
+++ b/project/Core/Src/System/systick.c
@@ -20,7 +20,7 @@ void init_systick()
s->CSR &= ~1;
s->CSR |= 1<<2;
s->CSR |= 1<<1; // enable interrupt
- s->RVR = 78124; // 100 ms
+ s->RVR = 79;
s->CSR |= 1;
}
@@ -60,7 +60,7 @@ int check_systick() {
static uint32_t count = 0;
void SysTick_Handler() {
- player_action_tick(count++);
+ count++;
}
uint32_t systick_get_count() {
diff --git a/project/Core/Src/main.c b/project/Core/Src/main.c
index eaf1c63..60d5b3d 100644
--- a/project/Core/Src/main.c
+++ b/project/Core/Src/main.c
@@ -29,6 +29,7 @@ int main(void){
// project_run();
// activity10_run();
// hw6_run();
- activity12_run();
+// activity12_run();
+ activity13_run();
}